1、官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/
2、linux 下可直接下载:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
3、解压缩到 /usr/local/mysql 下
4、进入到mysql的根目录 安装:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
5、安装完成后,方便以后操作,将服务添加到service中,并添加环境变量到PATH中
1)拷贝:# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2)将mysql服务加入chkconfig管理列表 # chkconfig --add mysqld
3)设置终端模式开机启动 # chkconfig mysqld on
4)修改环境变量# vi /etc/profile 添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
5)使变量生效 # source /etc/profile
6、启动mysql服务 # service mysqld start
7、修改MySQL root 密码:
1)跳过密码验证:# vi /etc/my.cnf
在[mysqld] 下边添加skip-grant-tables
2)重启数据库 # service mysqld restart
2)登陆 # mysql -uroot -p 直接回车即可登陆
3)使用数据库mysql 更改root密码为1qaz@WSX:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>update user set authentication_string = password('1qaz@WSX') where user='root';
mysql>flush privileges;
4)退出后将跳过密码验证删掉或者注释掉 重启数据库 然后用密码进行连接;
8、如果root密码安全性比较低会报错提示更改root密码
mysql>alter user 'root'@'localhost' identified by '1qaz@WSX';
9、数据库一些操作
1)查看当前用户下的数据库
mysql> show databases;
2)切换数据库 use 数据库名 (mysql默认使用"mysql"数据库中的表user存放用户信息)
mysql> use mysql;
Database changed
3)创建数据库
mysql> create database test;
Query OK, 1 row affected (0.13 sec)
4)删除数据库
mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)
5)导出数据表
5.1 导出指定数据库结构+数据:# mysqldump -u用户名 -p 数据库名 > 导出的文件名
eg:# mysqldump -uroot -p mysql > mysql.sql
备注:默认导出数据库名称为“mysql”的库到用户当前执行语句的目录
5.2 导出指定数据库的指定表结构+数据:# mysqldump -u用户名 -p 数据库名 表名> 导出的文件名
eg:# mysqldump -uroot -p mysql user > mysql_user.sql
5.3 导出指定数据库指定表的表结构 :# mysqldump -u用户名 -p -d --add-drop-table 数据库名 表名> 导出的文件名
eg:# mysqldump -uroot -p -d --add-drop-table mysql user > mysql_user_create.sql
备注:-d 没有数据 --add-drop-table 创建表之前加上删除表语句
6)导入数据表
mysql>source 文件名
eg:mysql> source mysql_user.sql
备注:要导入的文件 可以是绝对路径,绝对路径是连接数据库的时候的路径
7)查看表:
mysql> show tables;
+-------------------+
| Tables_in_newTest |
+-------------------+
| user |
+-------------------+
1 row in set (0.00 sec)
8)查看数据库中有多少张表 ,查询information_schema库中的表tables
eg:查询所有数据库中的表的数量
mysql> select count(*), table_schema from information_schema.tables group by table_schema order by 1;
+----------+--------------------+
| count(*) | table_schema |
+----------+--------------------+
| 1 | newTest |
| 1 | test |
| 31 | mysql |
| 61 | information_schema |
| 87 | performance_schema |
| 101 | sys |
+----------+--------------------+
6 rows in set (0.01 sec)
eg:查询指定库的表的数量
mysql> select count(*),table_schema from information_schema.tables where table_schema = 'mysql';
+----------+--------------+
| count(*) | table_schema |
+----------+--------------+
| 31 | mysql |
+----------+--------------+
1 row in set (0.00 sec)