Linux安裝mysql(Redhat6.5+MySQL5.7)(轉載+原創補漏)
這裏我創建了一目錄software用於存放我們待會要下載的mysql包,先去到該目錄
命令:cd /software
命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar
下載完成後,你會在software這個目錄下看到多出了空色框的文件
二、建立用戶,以及mysql的目錄
1、groupadd mysql #建立一個mysql的組
2、useradd -r -g mysql mysql #建立mysql用戶,並且把用戶放到mysql組
3、passwd mysql #給mysql用戶設置一個密碼
三、解壓mysql
1、把tar包移動到/usr/local 目錄下
mv /software/mysql-5.7.17-linux-glibc2.5-x86_64.tar /usr/local
2、解壓
cd /usr/local
tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
【多出目錄 mysql-5.7.17-linux-glibc2.5-x86_64】
註意:沒有data 目錄,my.ini 在support-files 目錄
3、改一下目錄名字為/usr/local/mysql (linux下mysql的默認安裝安裝目錄)
mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
四、配置相關的啟動配置文件(my-default.cnf和mysql.server文件在/usr/local/mysql/support-files下)
1、復制my-default.cnf 到 /etc/my.cnf (mysqld啟動時自動讀取)
cp my-default.cnf /etc/my.cnf
2、復制mysql.server 到/etc/init.d/ 目錄下【目的想實現mysqld -install這樣開機自動執行效果】
【/etc/init.d/ 目錄,等效於註冊表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services 記錄有那些服務】
cp mysql.server /etc/init.d/mysql (mysql是服務名)
3、修改 /etc/init.d/mysql 參數
vi /etc/init.d/mysql
給與2個目錄位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
4、給目錄/usr/local/mysql 更改擁有者
chown -R mysql:mysql /usr/local/mysql/
5、解決一下亂碼問題
vi /etc/my.cnf
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
五、初始化 mysql 的數據庫
mysql_install_db (老版本的做法)
新版本:
1.初始化
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成出一個data目錄,代表數據庫已經初始化成功
並且mysql的root用戶生成一個臨時密碼:5!uipdk>qmg?(生成的)
2.給數據庫加密
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
3.啟動mysql
bin/mysqld_safe --user=mysql &
【檢查ps -ef|grep mysql】
PS: 在這裏我以為mysql已經啟動了,但是其實沒有,還需要/etc/init.d/mysql start 再次啟動:
六、進入客戶端
1.登錄 ./mysql -uroot -p
如果報錯信息為:
解決方法:刪除了 /tmp/mysql.sock.lock文件
命令:rm -f /tmp/mysql.sock.lock
2.修改密碼
set password=password(‘123456‘);
七、遠程訪問 (即你用Windows系統能訪問Linux系統的mysql)
我們先看看數據結構:
現在我們的Windows系統是無法訪問到虛擬機下的Linux系統的mysql的,因為沒有權限
1、授權
grant all privileges on *.* to root@‘%‘ identified by ‘123456‘;
select host,user from user; 【多出1條遠程登錄用戶記錄】
flush privileges;
現在用Windows系統訪問我Linux系統的mysql,你會發現依然是不能訪問,那是因為防火墻沒有關
命令:mysql -h(你Linux系統的ip地址)-uroot -p123456
2、關閉防火墻或者給防火墻開放端口
systemctl stop firewalld.service
成功訪問後的效果圖如下:
八、設置開機自動啟動
1、添加服務mysql
chkconfig --add mysql 【mysqld -install】
2、設置mysql服務為自動
chkconfig mysql on
3、重啟檢查
init 6
ps -ef|grep mysql
九、設置path
vi /etc/profile
export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH
參考博客:https://www.cnblogs.com/zczc1996/p/6270521.html
版權聲明:本文為博主在其他博主的文章下再加工博文,轉載請註明出處,謝謝!
Linux安裝mysql(Redhat6.5+MySQL5.7)(轉載+原創補漏)