Linux下手动安装MySQL8.0数据库的图文记录
终于知道为什么一定要使用面板了,手动敲代码真的太繁琐,太磨叽,而且一不小心就是一按一个不知声,真的,这一天就安装mysql了。原因就是我笨吗,没办法行了开始记录下吧,我使用VM虚拟机安装了三次最后才算是成功,好了不墨迹了开始下载安装,内容非本人原创,我仅仅是记录下过程免得后续手动安装时又双叒叕忘记了。
下载安装包
先创建一个mysql目录,在将压缩包下载到此
mkdir /opt/mysql/ cd /opt/mysql/
# 下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
等待下载成功,如果不能链接外网可直接将解压包上传到此目录下。
另外忽略我的“wget”未找到命令的错误,这就是为什么说下载本地再上传,可能是我的centos安装包有问题。不管理,继续;
解压mysql8.0安装包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
输入【ls】命令后可以看见压缩包,但是不知道为什么我的软件显示紫色,跟背景重叠了,如图。
重命名解压出来的文件夹,将源文件夹改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
进入/mysql-8.0文件夹,再创建data文件夹,这是MySQL的存储文件;
cd mysql-8.0 mkdir data
分别创建用户组以及用户和密码,(如果提示已存在说明之前有创建过了)
groupadd mysql useradd -g mysql mysql
授权刚刚新建的用户
chown -R mysql.mysql /opt/mysql/mysql-8.0 chmod 750 /opt/mysql/mysql-8.0/data -R
始化数据库
bin/mysqld --initialize --user=mysql --basedir=/opt/mysql/mysql-8.0 --datadir=/opt/mysql/mysql-8.0/data
注:运行指令后将会出现如下输出,记住临时密码,每次运行上述指令生成的临时密码都不一样,我这里是:nLCil-O!-2Bq
可能会出现的问题(原作者遇到了,但是我没有遇到):
解决方法:
# 检查库是否安装
rpm -qa|grep libaio
# 安装库
yum install libaio-devel.x86_64
编辑配置文件my.cnf
vim /etc/my.cnf
我用vim无效。提示没有命令后来在FTP修改的,内容如下:
[mysqld] basedir=/opt/mysql/mysql-8.0 datadir=/opt/mysql/mysql-8.0/data socket=/tmp/mysql.sock character-set-server=utf8 default_authentication_plugin=mysql_native_password port=3306
创建MySQL服务
添加Mysql到系统服务(当前目录应为:/opt/mysql/mysql-8.0)
cp -a ./support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql
检查服务是否生效
chkconfig --list mysql
启动服务调整配置,如图:
启动服务
service mysql start
这里可能出现的问题:
解决办法:
mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log
# mysql 用户和用户对目录进行授权
chown -R mysql:mysql /var/log/mariadb/
# 再次启动mysql服务,每次开机后,要手动启动一下
/opt/mysql/mysql-8.0/support-files/mysql.server start
检查 MySQL 状态:
使用以下命令检查 MySQL 服务的状态,以确保它已正确启动:
sudo systemctl status mysql
或者:
sudo service mysql status
修改密码
登录mysql可能会出现如下错误,解决办法:
ln -s /opt/mysql/mysql-8.0/bin/mysql /usr/bin
登录mysql
mysql -uroot -p
输入或粘贴之前记录的临时密码并回车:nLCil-O!-2Bq
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; # 例如 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';
添加远程登录配置
create user root@'%' identified by '密码'; grant all privileges on *.* to root@'%' with grant option; # 例如 create user root@'%' identified by '654321'; grant all privileges on *.* to root@'%' with grant option;
root表示想要被连接的数据库的用户名
其中“%”表示允许所有机器能访问root用户
刷新权限
flush privileges;
刷新如图:基本都是【OK】
查看设置结果
select host,user,plugin,authentication_string from user;
如图:
设置完成退出Mysql,还可能需要开放防火墙3306端口,到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行
–permanent代表永久生效,否则重启linux后则需要再次开启
firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
查看防火墙端口开放状态
firewall-cmd --list-all
如图:
自此在linux系统上安装mysql8.0已经完成,并且可以使用图形化界面远程连接.
添加全局环境变量
编辑 / etc/profile 文件
vi /etc/profile
在文件底部添加,保存退出
export PATH=$PATH:/opt/mysql/mysql-8.0/bin:/opt/mysql/mysql-8.0/lib export PATH
刷新配置
source /etc/profile
如图:
到此结束,再也不想手动安装任何软件了,尤其是MySQL数据库,哎呀,打击我的自信心啊,好了接下来可以使用Navicat 连接Mysql,开着下一步折腾之路把,毕竟我不是在折腾就是在折腾的路上,有问题留言反馈,一起折腾~~~
文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为网站名称原创文章,转载或复制请以超链接形式并注明出处。https://xz.itlaoli.com/blog/836.html










还没有评论,来说两句吧...