一、卸载旧版本
二、下载、编译、安装mysql
三、配置mysql
四、其他
一、卸载旧版本
检查当前主机上是否安装了mysql
[root@localhost php-5.4.41]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
rpm -e mysql-libs.x86_64 #删除
或者
rpm -e --nodeps mysql-libs.x86_64 #强制删除
二、下载、编译、安装mysql
1、安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2、下载源码包、解压后编译安装
[root@localhost php-5.4.41]# cd /root/downloads/
[root@localhost downloads]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.23.tar.gz
[root@localhost downloads]# tar -xf mysql-5.6.23.tar.gz
[root@localhost downloads]# cd /mysql-5.6.23
编译命令
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
编译完成后有提示信息
CMake Warning:
Manually-specified variables were not used by the project:
MYSQL_USER
WITH_MEMORY_STORAGE_ENGINE
WITH_READLINE
-- Build files have been written to: /root/backup/mysqlsrc/mysql-5.6.23
安装,时间较长
[root@localhost mysql-5.6.23]# make && make install
相关选项作用
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci #默认校对规则
utf8_general_ci 不区分大小写
utf8_general_cs 区分大小写
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
三、配置mysql
1、设置权限
检查系统中是否存在mysql用户和组
grep mysql /etc/passwd
grep mysql /etc/grou
没有就创建
groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql #服务进程账户,无需登录系统
修改mysql目录中文件的权限
chown -R root:mysql /usr/local/mysql/*
chown -R mysql:mysql /usr/local/mysql/data
2、初始化配置
进入安装目录执行初始化脚本,创建系统自带数据库和表
cd /usr/local/mysql/
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3、服务程序配置
(1)、将服务程序路径添加到PATH环境变量中
新建/etc/profile.d/mysql.sh,添加内容保存退出,source一下
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh #让上述配置立即生效
(2)、将服务脚本复制到/etc/init.d目录下,并添加到服务列表
cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list mysqld
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(3)、启动服务
[root@localhost mysql]# service mysqld start
Starting MySQL.... SUCCESS!
四、其他
完成上面三步,mysql编译安装已经完成,可以在该主机使用mysql命令进入mysql了
1、设置密码,查看mysql用户,为了安全,我们可以给默认用户root
mysql> USE mysql; #使用mysql数据库
mysql> SELECT user,host,password FROM user; #查看mysql用户
+------+-----------------------+----------+
| user | host | password |
+------+-----------------------+----------+
| root | localhost | |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
+------+-----------------------+----------+
修改密码方法
1、mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
2、bash命令行下# mysqladmin -uusername password 'password' -p
为了安全我们可以将以下无密码项全部加上密码
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT user,host,password FROM user;
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
+------+-----------------------+-------------------------------------------+
6 rows in set (0.00 sec)
MySQL提供了一个Perl脚本为root设置密码、移除匿名账户、是否禁止root从远程访问、是否删除test数据库、是否重新加载新的数据
[root@test1 ~]# /usr/local/mysql/bin/mysql_secure_installation
2、设置root远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
此命令的password为远程访问时,root用户的密码,可以和本地不同。
3、配置防火墙
远程访问mysql,需要开启防火墙的3306端口
编辑/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后重启iptables即可。
---------------------------------------------------------------------------------------------
操作步骤完全参照了该博客,过程简单明了http://www.cnblogs.com/xiongpq/p/3384681.html
转载于:https://blog.51cto.com/64314491/1652999