安裝環境:centos6
1、下載
- 1.1、 http://dev.mysql.com/downloads/mysql/
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-i686.tar.gz - 1.2、將tar包複製到/usr/local/soft/目錄下
2、解壓縮到/usr/local/
[root@localhost local]# cd /usr/local/soft/
[root@localhost soft]# tar zvxf mysql-5.7.10-linux-glibc2.5-i686.tar.gz -C /usr/local
[root@localhost soft]# cd ..
[root@localhost local]# mv /usr/local/mysql-5.7.10-linux-glibc2.5-i686 /usr/local/mysql
3、在mysql下面創建data數據庫文件目錄
[root@localhost local]# mkdir /usr/local/mysql/data
4、創建mysql的用戶組和用戶,並對mysql目錄設置用戶組和用戶
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd mysql -g mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
5、初始化mysql並啓動mysql服務
[root@localhost mysql]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2016-01-09 12:00:28 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-01-09 12:00:33 [WARNING] The bootstrap log isn't empty:
2016-01-09 12:00:33 [WARNING] 2016-01-09T04:00:29.262989Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2016-01-09T04:00:29.264643Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2016-01-09T04:00:29.264653Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
報警可以忽略
6、修改my.cnf
[root@localhost mysql]# vim /etc/my.cnf
# 將datadir=/var/lib/mysql修改爲實際的安裝路徑 如 datadir=/usr/local/mysql/data
[root@localhost mysql]# vim /etc/selinux/config
# 把SELINUX=enforcing改爲SELINUX=disabled後存盤退出重啓機器
7、創建sock文件目錄
[root@localhost mysql]# mkdir -p /var/lib/mysql
[root@localhost mysql]# chown mysql:mysql /var/lib/mysql
8、 建立sock文件軟連接
[root@localhost bin]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
9、啓動mysql
[root@localhost bin]# cd /usr/local/mysql/support-files
[root@localhost support-files]# ./mysql.server start
10、配置mysql環境變量
[root@localhost bin]# vim /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=\$PATH:$MYSQL_HOME/bin
11、獲取mysql初始化密碼,登錄mysql,修改密碼
[root@localhost ~]# cat /root/.mysql_secret
[root@localhost ~]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysql -uroot -p:5ul#d6dkcwX
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.10
Copyright (c) 2000, 2015, 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.
mysql>
- 11.5、如上,顯示登錄成功,可以執行mysql命令操作了!
12、改mysql的root密碼,新密碼在此爲’root’
mysql> set password=password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
13、設定遠程登錄mysql。在Linux下爲了安全,默認是不允許mysql本機以外的機器訪問mysql數據庫服務,因此需要重新授權root。
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
grant all privileges on *.* to 'root’@'centos1' identified by 'root' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
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> select Host,User from user;
+-----------+-----------+
| Host | User |
+-----------+-----------+
| % | root |
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
3 rows in set (0.00 sec)
14、將mysql配置到服務並設置開機啓動
- 14.1、將mysql配置爲服務mysql
[root@centos1 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- 14.2、將mysql服務設置爲開機啓動
[root@centos1 mysql]# chkconfig mysql on
- 14.3、啓動mysql服務
[root@centos1 mysql]# service mysql start
15、報錯解決
- 15.1、如果遠程連不上,估計是防火牆的問題,關閉試試:
[root@centos1 mysql]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@centos1 mysql]# service iptables status
iptables: Firewall is not running.
- 15.2、解決報錯:mysqld_safe Directory ‘/var/lib/mysql’ for UNIX socket file don’t exists.
mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
- 15.3、解決報錯:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock