文章目录
简介
最近使用了mysql8,然后就在自己的linux上面安装了,其中遇到了很多坑!这里给大家做一个简单的分享,希望安装对安装mysql8的小伙伴能够有所帮助!
安装的mysql版本是:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz.
卸载之前的mysql环境,这里先不过多介绍,后续会把文章补上,本次着重记录mysql的安装步骤!!!
一、下载
第一步下载所需要的mysql安装包,这里大家注意细节,不要下载错了,我们这里下载是xz结尾的文件
这里建议大家就采取手动下载的方式,比较方便,
还有一种在线拉取的方式,我就不介绍了!!!
二、下载完解压到服务器的目录
这里对于目录来说没有太大要求,有些人喜欢usr下,也有些人喜欢放在root底下,注意一点:小伙伴们再放置安装包的时候最后有条理的进行放置!我这里给大家演示的是放在目录/root/packet/目录下
还有一点就是服务器远程连接工具,百度也有很多,方便大家直接上传你的文件到远程服务器上
进入到当前目录:cd /root/packet
将压缩包上传到此处首先进行解压
命令:tar -xvf 压缩包名称
例如:tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
这里由于文件名比较长,所以我们进行重命名:
mv 原名称 新名称
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql
当然有些小伙伴位置放错了 也可以进行文件移动
命令: mv 文件名 新目录
例如: mv mysql-8.0.23-linux-glibc2.12-x86_64 /usr/local
意思就代表着将文件移动到local目录下
三、创建用户组和用户
创建用户组
groupadd mysql
创建用户
useradd -r -g mysql mysql
回到根目录同时创建mysql数据目录data
cd / && mkdir -p /data/mysql8_data/
这里的目录仅仅做参考,也可以把data创建在其它位置!!!
赋予权限
1. chown mysql:mysql -R /data/mysql8_data
2. chmod 750 /data/mysql8_data/ -R
添加完之后,我们再去配置mysql的环境
编辑profile文件
vim /etc/profile
如果这里有显示vim未找到命令
也可执行 vi /etc/profile
输入进入编辑 添加一行
export PATH=$PATH:/root/packet/mysql/bin:/root/packet/mysql/lib
这里添加的是你自己mysql的目录
退出保存,按一下esc,英文模式下输入:wq,退出保存!!!
四、编辑my.cnf
这里需要编辑mysql的制定启动文件my.cnf
直接输入指令:vi /etc/my.cnf 进入编辑模式
[mysql]
# 客户端默认字符集
default-character-set=utf8mb4
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
server-id=3306
user=mysql
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/root/packet/mysql
# 设置mysql数据库的数据的存放目录
datadir=/data/mysql8_data/mysql
log-bin=/data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir=/data/mysql8_data/mysql
innodb_log_group_home_dir=/data/mysql8_data/mysql
#设置mysql数据库的日志及进程数据的存放目录
log-error =/data/mysql8_data/mysql/mysql.log
pid-file =/data/mysql8_data/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
退出保存,按一下esc,输入:wq进行保存!
五、初始化mysql
进入mysql的bin目录
cd /root/packet/mysql/bin
# 一行
./mysqld --defaults-file=/etc/my.cnf --basedir=/root/packet/mysql/ --datadir=/data/mysql8_data/mysql --user=mysql --initialize
执行完,进入/data/mysql8_data/mysql/目录下查看mysql.log
cat mysql.log
此时已经生成了初始密码,一会就拿着这个密码去登陆!
这里可以临时保存一下,方便一会复制粘贴
参数说明
--defaults-file=/etc/my.cnf 指定配置文件(一定要放在最前面,至少 --initialize 前面)
--user=mysql 指定用户(很关键)
--basedir=/root/packet/mysql/ 指定安装目录
--datadir=/data/mysql8_data/mysql/ 指定初始化数据目录
六、启动mysql
在启动mysql之前,首先要做一下准备工作!
1. 权限问题以及文件是否存在验证
检查一下/etc/init.d/mysql是否存在,若否,
cp /root/packet/mysql/support-files/mysql-server /etc/init.d/mysql
cp /root/packet/mysql/support-files/mysql-server /etc/init.d/mysqld
赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
检查一下/var/lib/mysql是否存在,否进行创建
mkdir /var/lib/mysql
赋予权限
chown -R mysql:mysql /var/lib/mysql/
注意点:以上目录都是在my.cnf配置好的,大家如果设置和我不一样的目录,请自行调整一些代码!!!
2. 启动mysql
上面的事情做完就可以启动mysql了
我这里直接输入
service mysql start
提示启动成功!!!
可以查看一下mysql的状态
service mysql status
可能有些小伙伴的指令是systemctl mysql start 也说不准!!!
七、登录mysql进行密码更新
进入mysql的bin目录
cd /root/packet/mysql/bin
输入:./mysql -uroot -p
密码:刚才我们临时储存的密码
输入完密码后进入mysql
修改新密码
# 修改密码 root
ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '你的新密码';
flush privileges; #刷新权限
use mysql;
select user,host,plugin,authentication_string from user;
CREATE user 'root'@'%'; #创建用户任意远程访问
alter user 'root'@'%' identified with mysql_native_password by 'root'; #修改密码
grant all privileges on *.* to "root"@"%"; #给用户授权
flush privileges; #刷新权限
这样修改完就可以使用navicat进行远程访问测试:
新建mysql连接
注意:
用户名和密码,以及主机号别输错了
点一下测试连接
显示连接成功,说明可用,如果遇到问题,欢迎评论区留言!!!
开机自启mysql
1,查看是否有mysql服务
[root@mysql1 ~]# chkconfig --list
2,进入mysql软件目录,复制mysql.server文件到 /etc/rc.d/init.d目录下
[root@mysql1 ~]# cd /data/mysql/support-files
[root@mysql1 support-files]# cp mysql.server /etc/rc.d/init.d/mysql
3,给/etc/rc.d/init.d/mysql赋权可执行权限
[root@mysql1 support-files]# chmod +x /etc/rc.d/init.d/mysql
4,添加mysql服务
[root@mysql1 support-files]# chkconfig --add mysql
5,使mysql服务开机自启
[root@mysql1 support-files]# chkconfig --level 345 mysql on
6,reboot服务器,测试是否成功。