MySQL的编译安装
(1)准备工作
为了避免发生端口冲突、程序冲突,先查询MySQL软件的安装情况,如果有MySQL建议卸载
rpm -q mysql-server mysql (查看安装的rpm包)
rpm -e mysql-server mysql (卸载)
(2)安装MySQL(挂载1611光盘)
mount /dev/cdrom /media/ (挂载)
cd /media/Packages/ (进入安装目录)
rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm (安装ncurses、MySQL软件包)
(3)MySQL5.X系列版本需要cmake编译安装,所以先安装cmake包
mount /dev/cdrom /media/ (挂载MySQL光盘)
cd /media/ (进入挂载目录)
tar zxf cmake-2.8.6.tar.gz -C /usr/src (解压到目录)
cd /usr/src/cmake-2.8.6/ (进入目录)
./configure (编译)
gmake && gmake install
(4)创建运行账户(用户名mysql) 此用户不需要直接登录到系统,可以不创建宿主文件夹。
groupadd mysql (创建分组)
useradd -M -s /sbin/nologin mysql -g mysql
(5)解包将下载的mysql源码包解压,释放到/usr/src目录下,并切换到展开后的源码目录
cd /media/ (进入目录)
tar zxf mysql-5.6.36.tar.gz -C /usr/src/ (解包)
(6)配置
cd /usr/src/mysql-5.6.36 (进入目录)
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all (配置选项)
(建议一段段复制)
make && make install (编译并安装)
(安装过程比较缓慢....)
-DCMAKE_INSTALL_PREFIX:指定将MySQL数据库程序安装到某目录下。
-DSYSCONFDIR:指定初始化参数文件目录。
-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf一8。
-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general__ci是适用于utf-8字符集的通用规则。
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
(7)对数据库目录进行权限设置
chown -R mysql:mysql /usr/local/mysql
(8)将原有的my.cnf文件替换为MySQl提供的配置文件内容,CentOS7系统下默认支持MariaDB数据库
rm -rf /etc/my.cnf (删除原有的MariaDB数据库)
cp support-files/my-default.cnf /etc/my.cnf (将MariaDB数据库替换成MySQL数据库)
(9 )初始化数据库为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
(10)设置环境变量为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile (立即生效)
(11)添加MySQL系统服务
cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh (将mysql.server脚本文件,将其复制到/usr/local/,mysq/bin/目录)
chmod +x /usr/local/mysql/bin/mysqld.sh (设置可执行权限)
vim /usr/lib/systemd/system/mysqld.service (打开MySQL主配置文件)
(以下为编辑内用)
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/主机名.pid
ExecStart=/usr/local/mysql/bin/mysqld.sh start
ExecStop=/usr/local/mysql/bin/mysqld.sh stop
[Install]
WantedBy=multi-user.target
(10)启动MySQL服务
systemctl start mysqld (启动SQL服务)
systemctl enable mysqld (开机自启SQL服务)
systemctl restart mysqld (重启SQL服务)
systemctl status mysqld (查看SQL服务)
netstat -anpt | grep mysqld (查看端口号)
(11)登录MySQL控制台
mysql -u root (没有密码登录)
mysql -u root -p (有密码登录)
(12)修改MySQL用户密码
mysqladmin -u -root password 新密码 (没有密码时创建密码)
mysqladmin -u -root -p password 新密码 (有密码时修改)
(会提示输入旧密码)