1、准备
Linux:CentOS 7 MySQL:mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 数据目录:/data/mysqldata 数据库安装目录:/usr/local/mysql
2、环境检测
(1)查看系统有无安装mariadb rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64 注意:如果mariadb只是系统自带,并未使用,可以卸载系统自带mariadb。 (2)卸载mariadb rpm -e --nodeps 'rpm -qa|grep mariadb'
3、安装mysql
(1)备份etc目录下的my.cnf文件 cp /etc/my.cnf /etc/my.cnfbak (2)创建mysql用户 useradd mysql (3)将mysql离线包(mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)上传至服务器/data/tools/目录,该目录可根据实际情况选择。 (4)解压到指定文件夹下(放在/usr/local/下) cd /data/tools tar -zxvf /data/tools/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ (5)重命名为mysql文件夹 cd /usr/local/ mv mysql-5.7.21-linux-glibc2.12-x86_64/ /usr/local/mysql/ (6)更改所属的组和用户 cd /usr/local/ chown -R mysql:mysql mysql (7)创建数据目录,并修改目录权限 cd /data mkdir mysqldata chown -R mysql:mysql mysqldata
4、修改mysql配置
(1)修改/etc/my.cnf vim /etc/my.cnf [mysqld] port=3306 #设置3306端口 datadir=/data/mysqldata #设置mysql数据库的数据的存放目录 basedir=/usr/local/mysql #设置mysql的安装目录 socket=/var/lib/mysql/mysql.sock character_set_server=utf8 #服务端使用的字符集 lower_case_table_names=1 #表名存储在磁盘是小写的,但是比较的时候是不区分大小写 max_connections=2000 #允许最大连接数 innodb_buffer_pool_size=2147483648 (2G) # Specifies the size of the buffer for the index,1/16 key_buffer_size = 8G #指定索引缓冲区大小 thread_stack = 256K #线程堆栈大小 sort_buffer_size=12M #MySQL执行排序使用的缓冲大小 read_buffer_size=8M # MySQL读入缓冲区大小 join_buffer_size=16M #联合查询操作所能使用的缓冲区大小
tmp_table_size = 256M #表缓冲大小
read_rnd_buffer_size=16M #MySQL的随机读缓冲区大小
innodb_print_all_deadlocks = 1 #保存死锁日志
innodb_lock_wait_timeout=100 #InnoDB事务在被回滚之前可以等待一个锁定的超时秒数
slow_query_log_file=/data/mysqldata/logs/slow.log #慢查询日志
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error=/var/log/mysqld.log #错误日志 pid-file=/var/run/mysqld/mysqld.pid #后台程序的pid
5、初始化
(1)初始化mysql
cd /usr/local/mysql bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysqldata/ 初始化成功会随机生成数据库root用户密码
(2)复制启动脚本并添加可执行权限
cd /usr/local/mysql cp ./support-files/mysql.server /etc/init.d/mysqld chmod a+x /etc/init.d/mysqld /etc/init.d/mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS!
(3)设置开机启动
chkconfig --add mysqld
chkconfig --list mysqld
(4)配置mysql环境变量
vi /etc/profile 在文本最后添加系统环境变量 #set mysql env export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile(使配置文件生效)
6、修改默认密码,添加账户
(1)修改root用户密码
root密码为执行初始化是生成的随机密码(VIi:Tohsb1YX)
mysql -u root -p
如果启动mysql找不到mysql.sock,则使用软连接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock mysql -u root -p Enter password:
(2)修改mysql的root用户密码
set password = password('密码');
(3)创建管理员用户
新建授权账户,这里 @'%' 表示在任何主机都可以登录,fdmp是mysql用户名,'密码'是密码
GRANT ALL ON *.* TO fdmp@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
(4)连接测试