一、安装环境
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
总结:
在麒麟系统安装遇到几个问题: