linux 环境安装 mysql
说明
1. mysql 版本:mysql-5.7.43-linux-glibc2.12-x86_64。
2. mysql 下载地址:dev.mysql.com/downloads/m… 如下图:
3. linux 系统:CentOS 8.2。
开始
1.下载 mysql 安装包并解压。
2. 把解压后的【mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz】压缩包上传到服务器。(存放目录随意,我这里是放在:/usr/local)如下图:
3. 解压并修改文件夹名称。
3.1 解压命令: tar -zxvf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
3.2 将解压后的文件重命名为 mysql,命令为: mv mysql-5.7.42-linux-glibc2.12-x86_64 mysql。如下图:
4. 通过命令进入 mysql 目录,并新建 data 文件夹,同时赋予权限。
4.1 进入 mysql: cd /usr/local/mysql。
4.2 新建 data 文件夹: mkdir data。
4.3 赋予权限: chmod -R 777 /usr/local/mysql/data ,如下图:
5. 创建用户、组,然后把用户加入组。
5.1 创建用户 mysql: groupadd mysql。
5.2 将用户加入组 mysql: useradd -g mysql mysql。
6. 数据库配置。/etc/my.cnf 文件如果是不存在,就需要新增一个文件,可以使用命令,也可以在本地修改完后再上传,内容如下:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
7. 初始化 mysql 。
7.1 进入 bin 目录: cd /usr/local/mysql/bin。
7.2 初始化: ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/。
8. 查看初始密码(记得保存): cat /usr/local/mysql/data/mysql.err,如下图:
9. 添加软链接,然后重启 mysql 服务。
9.1 添加软链接命令:
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql (我这里的软链接地址是:/usr/local/bin/mysql,有的可能是: /usr/bin/mysql。)
9.2 查看 mysql 服务是否在服务配置中,使用命令: chkconfig --list mysql ;如果没有则通过命令: chkconfig --add mysql ,把 mysql 注册为开机启动的服务。
9.3 重启 mysql 服务: service mysql start。
扩展:停止 mysql 服务【service mysql stop】。
10. 登录 mysql 并修改密码。如果不修改可能 Navicat 等软件会链接不上。
10.1 还是在 bin 目录: cd /usr/local/mysql/bin。
10.2 链接 mysql: mysql -u root -p。
注意:由于第一次安装运行上面命令可能会提示错误。
libncurses.so.5: cannot open shared object file: No such file or directory libtinfo.so.5: cannot open shared object file: No such file or directory 方法一:分别下载 libncurses.so.5、libtinfo.so.5(这个我没有试过,有兴趣的同学可以去试试)。
方法一:修改文件名:‘cp /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5‘ ‘cp /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5‘ (这个我是成功了)。
10.3 输入密码登录成功,进入 mysql 命令行(输入 exit; 即可退出命令行),如下图:
10.4 修改密码,按顺序执行以下命令。
use mysql; (切换到名为 mysql 的数据库)
update user set authentication_string=password("您的密码") where user="root";
update user set host = '%' where user = 'root'; (%:表示所有的ip都能访问我的数据库,如果要限制自行修改试试。)
FLUSH PRIVILEGES; (刷新权限并使修改后的权限设置立即生效)