centos7源码编译mysql

版权声明:转载请注明出处来自 https://blog.csdn.net/qq_26741767 https://blog.csdn.net/qq_26741767/article/details/85858606

centos7源码编译mysql


整理一下学习日记,很适合小白学习
实验环境:centos7(VM虚拟机)
安装版本:mysql-5.5.62

下载mysql
下载链接:https://pan.baidu.com/s/1RgL70vmy4OLj57zgOL6p9A

此处就不在重复上传操作,如需了解可以看我发的上一篇文章

下边开始进行编译安装

安装依赖包

yum -y install cmake ncurses ncurses-devel bison libaio-devel autoconf

使用tar工具解压缩已上传的mysql安装包

tar xvf mysql-5.5.62.tar.gz

创建mysql用户

useradd mysql -s /sbin/nologin -M

编译安装httpd

cd mysql-5.5.62 \

#自定义配置详解
#-DCMAKE_INSTALL_PREFIX   自定义mysql安装目录
#-DDEFAULE_CHARSET   设置默认使用的字符集编码 utf8
#-DDEFAULE_COLLATION   设置默认使用的字符集校对规则,utf8_general_ci
#-DEXTRA_CHARSETS   开启其他所有字符集的支持
#-DSYSCONFIDIR   自定义初始化参数文件目录
#-DMYSQL_DATADIR   自定义数据目录存储位置
#-DMYSQL_UNIX_ADDR   自定义mysql的通讯目录

#存储引擎规则设置
#MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
#静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
#可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

#自定义配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULE_CHARSET=utf8 -DDEFAULE_COLLATION=utf8_general_ci -DEXTAR_CHARSETS=all -DSYSCONFIDIR=/home/mysql -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock -DWITH_INNOBASE_STORANGE_ENGIN=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/data -DWITH_BOOST=boost -DWITH_SYSTEMD=1 \
#编译
make \
#安装
make install \

将mysql用户作为数据库目录所有者

chown -R mysql.mysql /usr/local/mysql

为mysql设置环境变量:

echo 'PATH=/usr/local/mysql/bin:/usr/local/lib:$PATH' >> /etc/profile

设置全局变量

echo 'export PATH' >> /etc/profile

使变量生效

source /etc/profile

对mysql进行初始化

#进入mysql安装目录
cd /usr/local/mysql \
#初始化
bin/mysqld --initalize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

为方便使用,我们需要将mysql服务添加到系统服务中

cp /usr/lib/systemd/system/mysqld.service /usr/lib/sysytemd/system/ \
cp support-files/mysql.server /etc/init.d/mysqld \
chmod +x /etc/init.d/mysqld \

将mysql添加至系统服务管理器

chkconfig --add httpd \
chkconfig --level 35 mysqld on

重新加载系统服务管理器配置

systemctl daemon reload

启动mysql,看是否能够正常启动

systemctl start msyqld

查看是否mysql有没有成功启动

netstat -anpt | grep 3306 或者 netstat -anpt | grep mysql

如果没有启动成功请进行再次初始化

/usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql \
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock \
systemctl daemon-reload

再次启动然后查看是否能够正常启动,
如果没有成功启动可以尝试移除my.cnf配置文件(将my.cnf重命名即可)。再进行启动:

mv /etc/my.cnf /etc/my.cnf.backup1
#重新启动mysql,可以发现已经成功了
systemctl restat mysql

接下来就要更新mysql的帐号密码了:

#输入mysql,进入mysql命令台(图标会变为mysql>)
mysql \
#更新帐号密码(mysql命令逗号不可省略)
#1. 查看数据库
show databases; \
#2. 使用mysql默认的数据库
use mysql; \
#3. 更新root用户的密码
update user set password=password("root") where user="root";
#4. 刷新
flush privilegas;
#5. 退出数据库
quit;
#6. 使用用户密码重新连接数据库
mysql -u root -p \
#密码不会显示,可以直接输入密码后回车
root

mysql常用管理命令

#查看安装的mysql版本号,登录之后会显示当前使用数据库版本号
mysql -u root -p
root

#启动命令
systemctl start mysql
#关闭命令
systemctl stop mysql
#重启命令
systemctl restart msyql
#将apache设置为开机自启动
systemctl enable mysql

猜你喜欢

转载自blog.csdn.net/qq_26741767/article/details/85858606