本文记录了mysql 5.7.14 安装配置代码,具体内容如下
OS: CentOS 6.6
DB: Mysql 5.7.14
1. 下载mysql
cd /tools
2.创建MySQL二进制解压文件的目录
mkdir -p /opt/mysql
[root@zw-test-db mysql]# cd /tools/
[root@zw-test-db tools]# ll -l mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
-rw-r--r-- 1 root root 642694570 Aug 29 15:02 mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
3. 解压到 /opt/mysql 目录下
[root@zw-test-db tools]# cd /opt/mysql/
[root@zw-test-db mysql]# tar -zxvf /tools/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
[root@zw-test-db mysql]# mv mysql-5.7.14-linux-glibc2.5-x86_64/ mysql-5.7.14
[root@zw-test-db mysql]# ll
drwxr-xr-x 9 7161 31415 4096 Jul 12 21:03 mysql-5.7.14
4. 创建一个软连接到 /usr/local
[root@zw-test-db mysql]# cd /usr/local/
[root@zw-test-db local]# ls
bin etc games include lib lib64 libexec redis-3.2.2 sbin share src
[root@zw-test-db local]# ln -s /opt/mysql/mysql-5.7.14 /usr/local/mysql
[root@zw-test-db local]# ll mysql
lrwxrwxrwx 1 root root 23 Aug 31 17:36 mysql -> /opt/mysql/mysql-5.7.14
[root@zw-test-db local]#
5. 创建用户
[root@zw-test-db /]# groupadd mysql
[root@zw-test-db /]# useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql
-s nologin 没有shell 不能登录的
6. 基于配置文件创建基本的目录
mkdir /data/mysql
mkdir /data/mysql/mysql_3306
cd /data/mysql/mysql_3306/
mkdir data
mkdir logs
mkdir tmp
chown -R mysql:mysql /data/mysql/mysql3306
7.创建/etc/my.cnf配置文件 (过程略)
8.初始化,5.7的初始化会加一个默认的密码
[root@zw-test-db mysql]# cd /usr/local/mysql/
[root@zw-test-db mysql]# ./bin/mysqld --initialize
[root@zw-test-db data]# pwd
/data/mysql/mysql_3306/data
### 下面是5.5, 5.6 初始化
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
9.查看 error日志,看有没有error
cd /data/mysql/mysql_3306/data
[root@zw-test-db data]# vim error.log
[root@zw-test-db data]# tail -f error.log
2016-08-31T09:44:32.394657Z 0 [Note] Giving 0 client threads a chance to die gracefully
2016-08-31T09:44:32.394680Z 0 [Note] Shutting down slave threads
2016-08-31T09:44:32.394686Z 0 [Note] Forcefully disconnecting 0 remaining clients
2016-08-31T09:44:32.415409Z 0 [Note] Binlog end
2016-08-31T09:44:32.434217Z 0 [Note] InnoDB: FTS optimize thread exiting.
2016-08-31T09:44:32.434293Z 0 [Note] InnoDB: Starting shutdown...
2016-08-31T09:44:32.534587Z 0 [Note] InnoDB: Dumping buffer pool(s) to /data/mysql/mysql_3306/data/ib_buffer_pool
2016-08-31T09:44:32.534741Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 160831 17:44:32
2016-08-31T09:44:34.308784Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2525428
2016-08-31T09:44:34.308945Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
10.查看初始化密码
[root@zw-test-db data]# grep password error.log
2016-08-31T09:44:21.172167Z 1 [Note] A temporary password is generated for root@localhost: 8aahkRkxfm%t
密码是: 8aahkRkxfm%t
11 创建一个启动脚本
[root@zw-test-db data]# cd /usr/local/mysql/
[root@zw-test-db mysql]# cp support-files/mysql.server /etc/init.d/mysql
cp: overwrite `/etc/init.d/mysql'? y
12.启动mysql的三种方式
方式一:
root@zw-test-db bin]# ./mysqld_safe --user=mysql &
[1] 12455
[root@zw-test-db bin]# 160830 15:18:01 mysqld_safe Logging to '/usr/local/mysql/data/zw-test-db.err'.
160830 15:18:01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
方式二:
[root@zw-test-db bin]# /etc/init.d/mysqld restart
Shutting down MySQL..160830 15:18:14 mysqld_safe mysqld from pid file /usr/local/mysql/data/zw-test-db.pid ended
[ OK ]
Starting MySQL. [ OK ]
[1]+ Done ./mysqld_safe --user=mysql
方式三:
[root@zw-test-db bin]# service mysqld restart
Shutting down MySQL.. [ OK ]
Starting MySQL. [ OK ]
[root@zw-test-db bin]#
13. 添加环境变量
echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /root/.bash_profile
source /root/.bash_profile
14. 登陆
[root@zw-test-db mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.14-log
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@localhost [(none)]>show databases; --提示要修改密码
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
15.修改密码
root@localhost [(none)]>alter user user() identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
root@localhost [(none)]>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
可以查看数据库了
16. 5.6版本之前需要帐号安全加固,5,7以后 test数据库都没有了
delete from mysql.user where user!='root' or host!='localhost'; --删除非root用户,登陆主机不是localhost的账号
flush privileges;
alter user user() identified by '123456';
drop database test;
truncate mysql.db;