一、安裝環境
cpu:I5-10代;
主板:華碩;
OS:銀河麒麟V10(SP1)未激活
架構:Linux 5.10.0-9-generic x86_64 GNU/Linux
mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
安裝包存放:/data/download
安裝目錄:/usr/local/mysql
數據目錄:/data/mysql
二、安裝步驟
1、修改系統root密碼
我安裝的麒麟系統開機登錄默認子用戶,不是root用戶,權限小,很多文件都是只讀,所以切換到root用戶,下面是root用戶修改密碼的方法。
① 開機按e進入編輯頁面
② 修改配置文件如下
將ro改為rw,將security的值改為none,后面加上 init=/bin/bash
注意:開機小心狂按e會導致文件開頭多出很多e字母,記得刪掉;
③ 按F10保存退出,然后輸入以下命令設置密碼
passwd root
輸入兩次密碼后,輸入exec /sbin/init進行重啟即可;
2、下載自己電腦對應版本mysql安裝包
下載地址:mysql官網
上傳至電腦,我的存放在/data/download目錄下;
3、安裝mysql
切換root用戶(需輸入剛才設置的root密碼):
su
進入mysql安裝包目錄,解壓:
cd /data/downloadtar -zxf ./mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
移動并重命名:
mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql
創建mysql用戶組和用戶、數據目錄并修改權限:
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql # 創建數據目錄
chown mysql:mysql -R /data/mysql
配置my.cnf:
vim /etc/my.cnf
內容如下:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
symbolic-links=0
explicit_defaults_for_timestamp=true
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONdefault_password_lifetime=0lower_case_table_names = 1character-set-client-handshake = FALSE
collation-server = utf8mb4_unicode_ci
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'max_allowed_packet=10485760[mysql]
default-character-set = utf8mb4[client]
default-character-set=utf8mb4
注意basedir和datadir需要改成自己實際目錄!
進入mysql的bin目錄,進行初始化:
cd /usr/local/mysql/bin./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
將mysql.server放到/etc/init.d/mysql中并設置權限:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlchmod +x /etc/init.d/mysql
啟動:
systemctl start mysql#查看是否啟動
ps aux | grep mysql
小插曲:此處我用service mysql start啟動提示我mysql.service沒找到,但是init.d下明明有mysql,用上面命令啟動就行,奇怪。
進入mysql:
/usr/local/mysql/bin/mysql -uroot -p
此處提示我“缺少libncurses.so.5文件”,網上解決方式將lib64下的libncurses.so.6做個軟連接,但是我這個系統lib64下沒有這個文件,我的是在lib32,用lib32做完鏈接后還是提示找不到;
最后用下面方式解決:
apt-get updateapt-get install libncurses5
如果上面安裝不了,執行以下apt-get upgrade再安裝試試。
查看密碼:
cat /data/mysql/mysql.err
找到隨機密碼并復制;
登錄:
/usr/local/mysql/bin/mysql -uroot -p
輸入剛才復制的密碼回車即可:
修改密碼:
SET PASSWORD=PASSWORD('123456);
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
開放遠程連接:
use mysql;
update user set host='%' where user='root';
flush privileges;
最后做個軟連接,不用每次都到mysql的bin下運行:
ln -s /usr/local/mysql/bin/mysql /usr/bin
總結:
在麒麟系統安裝遇到幾個問題: