1、下載,解壓
把下載的文件放到 /app/programs/目錄下
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
地址:https://dev.mysql.com/downloads/mysql/
2、建目錄
/usr/local/mysql
3、將解壓文件復制到新建目錄
cp -r mysql-5.7.22-linux-glibc2.12-x86_64/ /usr/local/mysql/
4、創建用戶組和用戶
groupadd mysql
useradd -r -g mysql mysql
5、創建data目錄
cd /usr/loca/mysql
mkdir data
6、修改目錄權限
cd /usr/local/mysql
chown -R mysql:mysql ./
7、初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
注意生成的密碼:HyjrkTcs8d>4
8、配置my.cnf
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/usr/local/mysql/mysqld.log pid-file=/usr/local/mysql/data/mysqld.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
9、啟動
cd /usr/local/mysql/bin
./mysqld_safe --user=mysql &
10、登錄修改密碼 mysql -uroot -p 上面初始化時的密碼
alter user 'root'@'localhost' identified by 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; #授權新用戶
flush privileges; #刷新權限
11、設置開機啟動
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql
vi /etc/init.d/mysql
將mysql目錄填上:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
授權:chmod +x /etc/init.d/mysql
設為開機啟動:chkconfig --add mysql
12、service啟動和關閉
重啟服務:service mysql restart
停止服務:service mysql stop
啟動服務:service mysql start
查看服務:service mysql status
13、mysql命令 在任意目錄執行
ln -s /usr/local/mysql/bin/mysql /usr/bin/
問題:
1、遇到mysql進程殺不死的情況
殺不死的情況是因為用守護線程起的服務,即通過mysqld_safe啟動的。可以通過mysql -uroot -p先登錄進去,然后執行 shutdown命令。退出mysql窗口,重新啟動服務:service mysql start
2、mysql.sock的問題
安裝后,用root登錄時提示‘/tmp/mysql.sock’,
解決1: /etc/my.cnf中 配置成:socket=/var/lib/mysql/mysql.sock,同時建立軟鏈:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
解決2:在my.cnf中,增加配置,如下:
[mysql]
socket=/var/lib/mysql/mysql.sock
3、阿里雲服務器mysql
如果是在阿里雲服務器安裝的mysql,外部訪問的時候,會提示連不上,需要在阿里雲服務器配置一下安全組