在Linux上安装MySQL
本文共 4,451 字,预计阅读时间 15 分钟
一、在ContOS6.5上安装MySQL
1.查看yum上提供的mysql数据库可下载的版本
1 | yum list | grep mysql |
2.安装MySQL及其他所需组件
1 | yum install -y mysql-server mysql mysql-devel |
3.启动MySQL服务(首次启动要设置密码,否则无法登录)
1 | service mysqld start |
4.设置用户密码
1 2 | cd /usr/bin mysqladmin -u root password ‘新密码’ |
5.设置开机启动mysql服务
查看mysql的状态
1 | chkconfig --list | grep mysqld |
开机自启
1 | chkconfig mysqld on |
重启mysql服务
1 | service mysqld restart |
6.登录mysql
1 | mysql -u root -p |
回车后输入密码,如果密码正确就会进入mysql
7.查看版本、初始库和用户
1 2 3 4 | select version(); show databases; use mysql; select host,user from user; |
8.设置MySQL允许远程连接
1 | GRANT ALL PRIVILEGES ON *.* TO root@ '%' IDENTIFIED BY '1234' WITH GRANT OPTION;<br>flush PRIVILEGES; |
9.查看是否设置成功
select host,user from user;
10.设置Linux防火墙端口
如果关闭了防火墙就不用进行10-11步骤。
1 | vi /etc/sysconfig/iptable |
添加如下内容
11.重启防火墙
1 | service iptables restart |
12.测试
使用navicat或sqlyog进行连接,主机地址就是linux的ip地址,密码是在授权时设置的密码,这里是1234。ip地址使用ifconfig可以查询。
二、在Linux安装mysql8
1)在官网下载安装包mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz,上传至服务器
2)解压并重命名
xz -d mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz tar xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql
3)创建用户组及用户和密码
进入mysql安装目录
cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
4)授权用户
chown -R mysql.mysql /usr/local/mysql
5)编辑my.cnf文件
vim /etc/my.cnf
将以下内容复制进去
[mysqld] user=root datadir=/usr/local/mysql/data basedir=/usr/local/mysql port=3306 max_connections=200 max_connect_errors=10 character-set-server=utf8 default-storage-engine=INNODB default_authentication_plugin=mysql_native_password lower_case_table_names=1 group_concat_max_len=102400 [mysql] default-character-set=utf8 [client] port=3306 default-character-set=utf8
然后保存退出
6)初始化基础信息,生成初始化密码
cd bin
./mysqld --initialize
此时会生成一个临时密码,需要保存下来,便于后续改密码
7)添加mysqld服务到系统
cd .. cp -a ./support-files/mysql.server /etc/init.d/mysql
8)授权以及添加服务
chmod +x /etc/init.d/mysql chkconfig --add mysql
9)启动mysql
service mysql start
10)将mysql添加到命令服务
ln -s /usr/local/mysql/bin/mysql /usr/bin
11)登录mysql 并修改密码
mysql -uroot -p 输入初始化的密码
更新密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;
11)更改root连接权限
use mysql; update user set host='%' where user = 'root'; flush privileges;
退出mysql,就可以通过连接工具登录root账户进行远程连接了
三、阿里云安装mysql
1.安装mysql数据库
a)下载mysql源安装包
1 | wget http: //dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm |
b)安装mysql源,若结尾出现complete!,则说明MySQL源安装完成
1 | yum localinstall mysql57-community-release-el7- 8 .noarch.rpm |
c)检测是否安装完成
1 | yum repolist enabled | grep "mysql.*-community.*" |
d)安装mysql,若结尾出现Complete!, 则MySQL安装完成
1 | yum install mysql-community-server |
e)设置开启启动mysql服务
1 | systemctl enable mysqld |
f)查看安装的mysql版本
1 | rpm -aq | grep -i mysql |
g)启动MySQL服务
1 | systemctl restart mysqld |
h)查看MySQL初始密码,这个密码是随机生成的
1 | grep 'A temporary password' /var/log/mysqld.log |
i)更改MySQL密码
1 | mysqladmin -u root -p '旧密码' password '新密码' |
这里更改密码出了问题,更改失败,这是因为密码太过简单的原因。有两个接解决方法:
方法一:把密码设置复杂点(这是最直接的方法)
方法二:关闭mysql密码强度验证(validate_password)
编辑配置文件
1 | vim /etc/my.cnf |
增加这么一行
1 | validate_password=off |
重启mysql服务
1 | systemctl restart mysqld |
j)设置mysql能够远程访问
登录进MySQL,给予root用户访问权限
1 | GRANT ALL PRIVILEGES ON *.* TO root@ '%' IDENTIFIED BY 'root' WITH GRANT OPTION; |
2.配置阿里云服务器
a)打开管理后台,打开创建的实例,点击右边更多
b)选择配置规则,对入方向进行配置
c)选择添加安全组规则,开启3306端口。授权对象选择0.0.0.0/0所有ip可访问
d)重启服务器
e)使用navicat或sqlyog进行连接,主机地址就是linux的ip地址,使用ifconfig可以查询ip
3.问题处理
如果本地可以使用,而远程无法使用,显示如下:
那么解决办法也如下:
第一步:在远程主机上,登录mysql,执行查询语句1:
select host, user, Password, grant_priv from user;
截图如下,会发现localhost和允许远程的密码不一致,所以需要再次修改密码,执行修改语句1:
update user set password=password('123456') where user='root'
执行完成后再次执行上面的查询语句1,发现密码一致了,然后重启服务器就可以进行远程访问了。
systemctl restart mysqld
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!