Linux安装MySQL
一、配置绿色版mysql/mariadb
在Linux平台下安装mysql/mariadb,下载tar.gz类型的压缩版mysql安装是首选,解压到/usr/local/mysql中,因为大多数配置默认是在这里,这样会给配置带来极大的简化。
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
1,设置配置文件
vim /etc/my.cnf
[mysqld]
user=mysql #一定不能少,虽然不知道是做什么用的
datadir=/usr/local/mysql/data
default_authentication_plugin=mysql_native_password #使用mysql8以前的密码插件,以便navicat等工具能够正常连接
default-storage-engine=INNODB
character_set_server = utf8
[mysqld_safe]
character_set_server = utf8
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[client]
default-character-set = utf8
2,mysql初始化
安装路径如果没有设为/usr/local/mysql,就需要修改support-files/mysql.server这个脚本中的许多路径了,很麻烦,因此建议将mysql放在/usr/local/mysql目录
如果建立过一个my.cnf文件并设置参数,这样初始化时就自动给使用这些参数了
./mysqld --initailize
如果没有建立my.cnf,可以这样设置初始化
./mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
3,启动mysql
安装好的mysql可以直接启动
./mysqld &
也可以设置mysql启动为系统启动方式,复制启动文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start 或 service mysqld start
4,设置root密码
从大约5.7开始安装mysql时给出一个临时密码,这是登录root需要输入这个临时密码才能登录
mysql> alter user 'root'@'localhost' identified by 'root';
mysql> flush privileges;
5,配置完后可能本机能够连上,但其他机器连不上
is not allowed to connect to this MySQL server
这是因为没有开放mysql链接权限
我们发现,都是本地的这些用户才能访问
mysql> update user set host = '%' where user = 'root';
mysql> grant all privileges on *.* to root@'%' identified by 'root' with grant option;
mysql> flush privileges;
service mysql/mariadb restart
注意:
user表中只保留一个root@%用户,如果还存在root@127.0.0.1等,一定要删除,不然会出连接问题!
mysql> drop user root@127.0.0.1
二、配置安装版mysql/mariadb
1,安装
rpm在线安装:
yum install mariadb-server
rpm离线安装:
rpm -ivh mariadb-server.rpm
rpm查看安装位置:
rpm -ql marialdb
deb在线安装:
apt-get install mariadb-server
deb离线安装:
dpkg -i mariadb-server.deb
deb查看安装位置:
dpkg -L marialdb-server
2,初始化
使用dep包或rpm包安装,使用以下命令初始化即可:
mysql_secure_installation
执行后会有命令提示,设置root密码等,这种方式快速、方便,只是安装文件会分散到操作系统各个目录里,有些分散。
3,设置编码
设置完密码后,用root登录,查看一下数据库编码:
show variables like 'character_set_%'
如果其中有非utf8字符集,在配置文件中添加配置:
vim /etc/my.cnf.d/server.cnf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~