Linux/CentOS安装MySQL(RPM安装、编译安装)
2019独角兽企业重金招聘Python工程师标准>>>
Linux/CentOS安装MySQL(RPM安装、编译安装)
目前最常用的MySQL安装方法也就是采用Yum安装RPM包,或者编译安装。这里将记录关于在CentOS上安装MySQL历史版本的方法。
RPM安装
这里使用CentOS系统,使用Yum快捷安装解决依赖
添加RPM源
官方yum源历史版本获取地址
http://repo.mysql.com/yum/
最新版yum源获取地址
http://dev.mysql.com/downloads/repo/yum/
下载源1
wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm下载源2
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm # 可以替换其中的发行版本序号下载指定的版本 wget http://dev.mysql.com/get/mysqlXX-community-release-elXX-XX.noarch.rpm安装源
安装RPM源
yum localinstall mysql57-community-release-el7-10.noarch.rpm验证是否安装成功
yum repolist enabled | grep "mysql.*-community.*"卸载RPM源
rpm -qa|grep mysql rpm -e mysql57-community-release-el7-10.noarch更换默认安装版本
MySQL官方默认源采用最新版本,可以通过修改RPM文件来实现。
官网文档参照
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-select-series
推荐编辑文件来指定版本
vi /etc/yum.repos.d/mysql-community.repo安装MySQL
yum install mysql-community-server启动MySQL
systemctl start mysqld开机自启
# 开启 MySQL 服务自启 systemctl enable mysqld # 重载所有修改过的配置文件 systemctl daemon-reload修改ROOT密码
grep 'temporary password' /var/log/mysqld.log ALTER USER 'root'@'localhost' IDENTIFIED BY '\39hIgAmA3w8L61_';开启远程权限
方便用户远程操作,安全性不推荐自行把握。可以设定指定IP访问。
新增用户ROOT用户方式
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '\39hIgAmA3w8L61_' WITH GRANT OPTION;修改Host字段方式
update mysql.user set host='%' where user='root' and host='localhost' LIMIT 1; flush privileges;
编译安装
针对更多个性化的配置,配置多个版本共存时推荐的方式。
获取对应版本
mysql社区版服务端 下https://downloads.mysql.com/archives/community/
在这里可以选择mysql版本、类型、支持系统。
这里选择版本是5.5.4(其他版本大致相同),在linux系下运行的源码。
下载并解压进入其目录
wget https://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.40.tar.gz tar -xzf mysql-5.5.40.tar.gz cd mysql-5.5.40
预编译配置
使用 cmake 进行编译,如果未安装,请安装cmake及相关依赖库。
yum install -y cmake gcc g++ make m4 bison ncurses-devel创建构造目录
mkdir build cd build
参数说明:
- 默认安装的位置是 /usr/local/mysql/,如果需要修改可以指定他为其他路径位置。 例如: # cmake . -DCMAKE_INSTALL_PREFIX=your_custom_location
- 默认安装的数据目录是 /usr/local/mysql/data/,你可以通过修改 MYSQL_DATADIR 选项来修改路径。 例如: # cmake . -DMYSQL_DATADIR=your_custom_location
- 编译更多配置参考MySQL官网文档 https://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-configuration-options.html
编译
make && make install
编译后初始化配置工作
useradd mysql groupadd mysql cd /usr/local/mysql/mysql5.5 chown -R mysql . chgrp -R mysql .#二选一命令 #1. scripts/mysql_install_db --user=mysql chown -R root . #2. scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/mysql5.5 --datadir=/mnt/data/mysql/mysql5.5 --defaults-file=/usr/local/mysql/mysql5.5/my.cnf chown -R mysql /mnt/data/mysql/mysql5.5#复制配置文件 cp support-files/my-medium.cnf ./my.cnf#将服务启动脚本复制到系统目录 cp support-files/mysql.server /etc/init.d/mysqld chmod u+x /etc/init.d/mysqld chkconfig --add mysqld#删除默认my.cnf rm -f /etc/my.cnf
错误解决
Installation of system tables failed! Examine the logs in /var/lib/mysql for more information.https://serverfault.com/questions/523206/ubuntu-mysql-server-connection
sudo mv /var/lib/mysql /var/lib/mysql_bak sudo mysql_install_db sudo /etc/init.d/mysql start sudo netstat -anp | grep 3306还有就是socket文件的写入权限,可通过 my.cnf 确定
socket = /tmp/mysqld55.sock touch /tmp/mysqld55.sock chown mysql:mysql /tmp/mysqld55.sock chmod 775 /tmp/mysqld55.sock rm -f /tmp/mysqld55.sock删除系统内置或残留my.cnf
rm -f /etc/my.cnfhttp://blog.51cto.com/732233048/1636409
MySQL服务控制
启动服务 service mysqld start
关闭服务 service mysqld stop
重启服务 service mysqld restart
修改root密码
首先启动mysql服务
service mysqld start连接mysql
./bin/mysql#设置root新密码(低版本mysql使用,5.7以后推荐使用ALTER 或者修改authentication_string字段) set password = password('root');#清除系统空用户 use mysql; delete from user where user = ''; flush privileges;
设置远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootmima' WITH GRANT OPTION;
转载于:https://my.oschina.net/u/2366984/blog/2992772
新人创作打卡挑战赛发博客就能抽奖!定制产品红包拿不停!总结
以上是生活随笔为你收集整理的Linux/CentOS安装MySQL(RPM安装、编译安装)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ssh: connect to host
- 下一篇: 一个文章表的 MySQL 索引怎么建立合