mysql--源码安装

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了mysql--源码安装脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

环境:MySQL(5.7.17)+boost(1_59_0)

关闭火墙(firewalld):

Systemctl stop firewalld
systemctl enable firewalld

关闭SeLinux:

vim /etc/selinux/config
     SELINUX=disable
    (重启生效,reboot## 查看selinux状态
getenforce

MySQL安装:

安装依赖包:

yum -y install gcc-c++ ncurses-devel @R_567_1512@ make PErl gcc autoconf automake zlib libXMl libgcrypt liBTool bison EPEL*

mysql码编译时要用到boost::

yum -y install wget

cd /usr/local/src/

wget https://sourceforge.net/PRojects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar zxvf boost_1_59_0.tar.gz

mv boost_1_59_0 /usr/local/boost

检查是否存在mysql,存在则删除:

mysql--源码安装

官方下载mysql5.7.17源码包:

地址:https://downloads.mysql.COM/Archives/commUnity/

mysql--源码安装

解压文件:

tar zxvf mysql-5.7.17.tar.gz

新建MySQL用户和用户组,创建/data/mysql 目录存放mysql数据:

groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql

mkdir -pv /data/mysql

cd mysql-5.7.17/

预编译及编译安装:

cmake 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/data/mysql 
-DSYSCONFDIR=/etc 
-DWITH_MYISam_STORAGE_ENGINE=1 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_MEMORY_STORAGE_ENGINE=1 
-DWITH_READLINE=1 
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock
-DENABLED_LOCAL_INFILE=1 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DWITH_BOOST=/usr/local/boost 
-DMYSQL_USER=mysql 
-DEXTRA_CHARSETS=all 
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci
	注:
	DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径
	DMYSQL_DATADIR=/data/mysql:数据文件存放位置
	DSYSCONFDIR=/etc:my.cnf路径
	DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎
	DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎
	DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径
	DMYSQL_TCP_PORT=3306:端口
	DENABLED_LOCAL_INFILE=1:允许从本地导入数据
	DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
	DEXTRA_CHARSETS=all:安装所有的字符集
	DDEFAULT_CHARSET=utf8:默认字符
	DWITH_EMBEDDED_SERVER=1:嵌入式服务器
make && make install

设置启动脚本,开机自启动:

chown -R mysql:mysql /usr/local/mysql

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

ln -s /usr/local/mysql/bin/* /usr/local/bin/

chkconfig --add mysqld

chkconfig mysqld on

拷贝my.cnf至/etc/目录下,并初始化数据库:

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

/usr/local/mysql/bin/mysqld  --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

启动服务:

systemctl restart mysqld

查看状态:

ps -ef|grep mysql

root管理员修改密码:

mysql -uroot -p
mysql> set password = password("root@123");
mysql> alter user 'root'@'localhost' password expire never;
mysql> FLUSH PRIVILEGES;

忘记密码:

systemctl stop mysqld
vim /etc/my.cnf
添加一行:skip-grant-tables
systemctl start mysqld
登陆数据库:
mysql 回车
回车
use mysql;
update mysql.user set authentication_string=password('root123') where user = 'root';
flush privileges;
删除配置文件中的“skip-grant-tables”
重启数据库
验证:
mysql -uroot -p

脚本宝典总结

以上是脚本宝典为你收集整理的mysql--源码安装全部内容,希望文章能够帮你解决mysql--源码安装所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。