mysql安装部署
1.卸载旧版本mysql
[root@localhost ~]# rpm -qa | grep mysql //查看该操作系统上是否已经安装了mysql数据库
[root@localhost ~]# rpm -e --nodeps mysql //卸载mysql,可带上版本号
2.安装编译代码需要的包
cd /home/source
[root@MYSQLBACK source]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel
3.解压mysql-5.6.25.tar.gz
tar zxvf mysql-5.6.25.tar.gz
cd mysql-5.6.25
3.编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
4.配置mysql
4.1 使用下面的命令查看是否有mysql用户及用户组
[root@localhost mysql-5.6.25]# cat /etc/passwd | grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
[root@localhost mysql-5.6.25]# cat /etc/group | grep mysql
mysql:x:27:
如果没有就创建,存在则忽略
groupadd mysql
useradd -g mysql mysql
4.2 修改/usr/local/mysql权限
[root@localhost mysql-5.6.25]# chown -R mysql:mysql /usr/local/mysql
4.3 修改配置
[root@localhost mysql-5.6.25]# mv /etc/my.cnf /etc/my.cnf.bak //删除/etc/my.cnf配置文件
[root@localhost mysql-5.6.25]# ls /etc/my*
/etc/my.cnf.bak
4.4 进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
4.5 添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start --启动MySQL
4.6 MySQL启动成功后,root默认没有密码,我们需要设置root密码。
4.6.1 设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
4.6.2 执行下面的命令修改root密码
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
4.6.3 若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中password为远程访问时,root用户的密码,可以和本地不同。