最近刚买了一个腾讯云服务器自己玩,在网上找了好多Centos安装mysql的教程,发现好多都是坑。所以自己亲手测试了一番写下按安装过程,避免以后入坑。
首先安装依赖安装包:
yum -y install gcc gcc-c++ cmake ncurses-devel autoconf perl perl-devel
下载MySQL安装包:
源码包地址:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
创建mysql安装目录:
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
创建mysql的用户、和用户组:
groupadd mysql
useradd -r -g mysql mysql
解压mysql安装包:
tar -zxvf mysql-5.6.35.tar.gz
cd mysql-5.6.35
cmake编译mysql:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
CMAKE参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //默认安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DMYSQL_USER=mysql
-DMYSQL_TCP_PORT=3306
CMAKE详细配置请参照mysql官网
编译安装:
make //此过程比较漫长
make install
注意事项:
如安装失败重新编译时,需要清除旧的对象文件和缓存信息。
make clean
rm -f CMakeCache.txt
rm -rf /etc/my.cnf
设置目录权限:
cd /usr/local/mysql
chown -R mysql:mysql .
chown -R mysql:mysql data
将mysql的启动服务添加到系统服务中:
cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
创建基础表:
cd /usr/local/mysql
./scripts/mysql_install_db –user=mysql
配置环境变量:
vim /etc/profile
在最下面添加下面两个值
export MYSQL_HOME=”/usr/local/mysql”
export PATH=”$PATH:$MYSQL_HOME/bin”
然后保存
让修改的profile文件立即生效:
source /etc/profile
将mysql加入到可控制启动的服务的文件夹内,并命名mysql,即service可控制的服务名,至此可用service mysql start控制启动mysql:
/etc/init.d 是/etc/rc.d/init.d的链接,在/etc/init.d添加一个文件会同步在/etc/rc.d/init.d下添加一个相同文件
cd /usr/local/mysql/
cp support-files/mysql.server /etc/init.d/mysql
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接
–add : 加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。服务脚本必须存放在/etc/ini.d/目录下
让mysql服务加入到开机启动指令管理的服务列表中:
chkconfig –add mysql
开机自启动mysql服务:
on : 针对的服务有等级限制,具体查询chkconfig详细
chkconfig mysql on
现在可以使用下面的命令启动mysql
service mysql start
停止mysql服务
service mysql stop
重启mysql服务
service mysql restart
下面两种命令作用相同
systemctl [stop|start|restart] 服务名
service 服务名 [stop|start|restart]
回车在接下来的提示中设置新密码即可
mysqladmin -u root password
连接到mysql
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 2
Server version: 5.6.35 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the current input statement.
mysql>