开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制-20170808
CentOS7 安装mysql-5.7.10(glibc版)

CentOS7 安装mysql-5.7.10(glibc版)注:所有shell命令都以root用户执行。
随着mysql版本的更新,新版本的安装方式会有所更改,可以参考mysql压缩包中的INSTALL-BINARY文件。
一、从网上下载所需的版本shell> cd /home/user/Downloadsshell> wget /mysql/所需版本此处我下载的是MySQL-5.7下的mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz二、解压缩文件并移动到指定目录在home文件夹下创建一个mysql文件夹,作为存放mysql文件的目录shell> cd /homeshell> mkdir mysql回到保存下载压缩文件的目录解压压缩文件shell> cd /home/user/Downloadsshell> tar -zxvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz移动文件到指定目录shell> mv mysql-5.7.10-linux-glibc2.5-x86_64 /home/mysql/mysql-5.7.10三、安装运行mysql所需的包shell> yum search libaioshell> yum install libaio四、安装及配置mysql(参照mysql文件中的INSTALL-BINARY)shell> groupadd mysql #添加一个mysql用户组shell> useradd -r -g mysql -s /bin/false mysql #设置-s /bin/false表示mysql不能作为登入用户shell> cd /usr/localshell> ln -s /home/mysql/mysql-5.7.10 mysql #在/usr/local/目录下创建一个mysql链接shell> cd mysqlshell> mkdir data #作为存放数据的目录shell> chmod 770 datashell> chown -R mysql .shell> chgrp -R mysql .shell> bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # MySQL 5.7.6 and up执行该命令后,注意最后一行的[Note]信息[Note] A temporary password is generated for root@localhost: )#Fzu)-oj6f8生成的初始密码在首次以root用户登入时使用。
MySQL数据库运维实录-在CentOS 7.5 安装 MySQL 5.7

[root@node01 ~]# cat >> /etc/hosts <<EOF192.168.1.101 node01EOF创建mysql用户[root@node01 ~]# useradd mysql[root@node01~]# echo mysql | passwd --stdin mysqlChanging password for user mysql.passwd: all authentication tokens updated successfully[root@node01 ~]# id mysqluid=1001(mysql) gid=1002(mysql) groups=1002(mysql)修改/etc/security/limits.conf文件,配置用户对系统资源的使用限制[root@node01 ~]# cat >> /etc/security/limits.conf <<EOF mysql soft nproc 4096mysql hard nproc 65535mysql soft nofile 4096mysql hard nofile 65535EOF调整系统内核参数[root@node01 ~]# cat /sys/block/sda/queue/schedulernoop [deadline] cfq[root@node01 ~]# echo "vm.swappiness = 10" >>/etc/sysctl.conf[root@node01 ~]# echo 'vm.dirty_background_ratio = 5' >>/etc/sysctl.conf [root@node01 ~]# echo 'vm.dirty_ratio = 10' >>/etc/sysctl.conf[root@node01 ~]# sysctl -p安装相关依赖包[root@node01 ~]# yum install -y libaio下载mysql5.7二进制包,通过xftp上传到node01,解压到当前目录下[root@node01 ~]$ tar zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz将解压过的mysql5.7包重命名为mysql,移动到/usr/local/目录下[root@node01 ~]$ mv mysql-5.7.41-linux-glibc2.12-x86_64 mysql[root@node01 ~]# mv mysql /usr/local/创建数据库相关目录,修改相关目录权限[root@node01 ~]# mkdir /usr/local/mysql/data[root@node01 ~]# chown -R mysql:mysql /usr/local/mysql[root@node01 ~]# mkdir /var/lib/mysql[root@node01 ~]# chown -R mysql:mysql /var/lib/mysql[root@node01 ~]# mkdir /var/lib/mysql-files[root@node01 ~]# chown mysql:mysql /var/lib/mysql-files修改系统环境变量:PATH[root@node01 ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin'>>/etc/profile [root@node01 ~]# source /etc/profile[root@node01 ~]# env | grep PATHPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin创建配置文件:/etc/f[root@node01 ~]# vim /etc/f[mysqld]user = mysqlport = 3306basedir=/usr/local/mysqldatadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.socksecure_file_priv = /var/lib/mysql-fileslog-error = mysqld_error.logpid-file=mysqld.pidlog_timestamps = SYSTEMcharacter-set-server = utf8mb4open-files-limit = 65535max_connections = 500max_connect_errors = 10000max_allowed_packet = 32Mtmp_table_size = 512Mmax_heap_table_size = 512Mslow_query_log = 1long_query_time = 2slow_query_log_file = mysqld_slow.logserver_id = 201log_bin = mysql-binbinlog_cache_size = 16Mmax_binlog_cache_size = 4Gmax_binlog_size = 128Mexpire_logs_days = 7binlog_rows_query_log_events = ontransaction-isolation = READ-COMMITTEDinnodb_buffer_pool_size = 8Ginnodb_buffer_pool_instances = 8innodb_log_file_size = 256Minnodb_log_files_in_group = 4innodb_log_buffer_size = 16Minnodb_undo_logs = 128innodb_undo_tablespaces = 3innodb_undo_log_truncate = 1innodb_data_file_path = ibdata1:1024M:autoextendinnodb_temp_data_file_path = ibtmp1:128M:autoextendinnodb_print_all_deadlocks = 1[mysql]socket=/var/lib/mysql/mysql.sockprompt=(\\u@\\h) >\\_初始化数据库[root@node01 ~]# mysqld --initialize-insecure复制启动脚本到/etc/init.d目录下[root@node01 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/启动mysql服务,并查看服务启动状态[root@node01 ~]# /etc/init.d/mysql.server startStarting MySQL... SUCCESS![root@node01 ~]# /etc/init.d/mysql.server statusSUCCESS! MySQL running (14499)[root@node01 ~]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf[root@node01 ~]# ldconfig[root@node01 ~]# ln -s /usr/local/mysql/include/ /usr/include/mysql[root@node01 ~]# mysql_secure_installationVALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No: nPlease set the password for root here.#为root用户设置密码New password:Re-enter new password:Remove anonymous users? (Press y|Y for Yes, any other key for No) : y #删除匿名用户Success.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y #禁止root远程登录Success.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y #删除test数据库- Dropping test database...Success.- Removing privileges on test database...Success.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y #刷新权限表Success.All done![root@node01 ~]# mysql -uroot -pabcd.1234(root@localhost) > create user 'root'@'%' identified by 'abcd.1234'; #创建允许远程登录的root用户Query OK, 0 rows affected (0.02 sec)(root@localhost) > grant all privileges on *.* to 'root'@'%' with grant option; #授予用户权限Query OK, 0 rows affected (0.02 sec)(root@localhost) > flush privileges; #刷新权限Query OK, 0 rows affected (0.04 sec)(root@localhost) > show grants for 'root'@'%'; #查询用户的权限[root@node01 ~]# mysql -uroot -pabcd.1234 -hnode01(root@node01) >。
Linux(Centos7.6)下安装MySql详细教程

Linux(Centos7.6)下安装MySql详细教程这个数据库⽤的⽐较多,具体的就不唠叨了,直接上安装mysql的基础操作:1、检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分⽀执⾏命令:yum list installed | grep mariadb2、如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7.6 内部集成了mariadb,⽽安装mysql的话会和mariadb的⽂件冲突,所以需要先卸载掉mariadb执⾏命令:yum -y remove mariadb-libs.x86_643、开始安装mysql,⾸先从官⽹下载mysql软件压缩包,并上传到Linux的opt/mysoft ⽬录下解压下载下来的mysql软件压缩包,执⾏命令:tar -zxvf /opt/mysoft/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local4、将解压后的mysql-5.7.24-linux-glibc2.12-x86_64改名为mysql-5.7.24 或者 mysql,这个看个⼈习惯了,⾮必要操作执⾏命令:mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql-5.7.245、在mysql-5.7.24⽂件夹⽬录下创建⼀个/data/3306⽂件夹,这个也看个⼈习惯了,⾮必要操作切换到mysql-5.7.24⽬录,执⾏命令:mkdir -vp ./data/3306 (v表⽰创建新⽬录都显⽰信息,p表⽰递归创建)6、添加mysql⽤户及⽤户组执⾏命令:groupadd mysqluseradd mysql -g mysql (-g: 是指定⽤户所在组)7、切换到mysql-5.7.24/bin⽬录下执⾏:./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.24/data/3306 --basedir=/usr/local/mysql-5.7.24(--initialize-insecure标识不设置密码, root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.)8、在mysql-5.7.24/bin⽬录下执⾏命令:./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.24/data/3306 (表⽰安全连接访问,⽣成RSA私钥)9、更改mysql-5.7.24整个⽂件夹⽬录权限所属执⾏命令:chown -R mysql:mysql /usr/local/mysql-5.7.24 (-R表⽰迭代递归)chmod:⽂件/⽬录权限设置命令10、在mysql-5.7.24/data/3306 ⽬录下创建f⽂件使⽤命令:vim f[client]port = 3306socket = /usr/local/mysql-5.7.24/data/3306/mysql.sockdefault-character-set=utf8[mysqld]port = 3306socket = /usr/local/mysql-5.7.24/data/3306/mysql.sockdatadir = /usr/local/mysql-5.7.24/data/3306log-error = /usr/local/mysql-5.7.24/data/3306/error.logpid-file = /usr/local/mysql-5.7.24/data/3306/mysql.pidcharacter-set-server =utf8#是否忽略⼤⼩写,unix下lower_case_table_names默认值为 0 .Windows下默认值是 1(名称⽐较对⼤⼩写不敏感) .Mac OS X下默认值是 2 . lower_case_table_names = 1#是否⾃动提交 0表⽰不⾃动提交 1表⽰⾃动提交,mysql事务⽀持的引擎是InnoDB,默认情况下autocommit的值为1autocommit = 1⾄此MySQL安装完成;11、启动MySQL服务在mysql-5.7.24/bin⽬录下执⾏命令:./mysqld_safe --defaults-file=/usr/local/mysql-5.7.24/data/3306/f & (其中 & 符号表⽰后台启动)12、修改密码登录进⼊mysql,在mysql-5.7.24/bin⽬录下执⾏命令:./mysql -uroot -p -P3306 -h127.0.0.1修改mysql的密码,执⾏:alter user 'root'@'localhost' identified by '123456';13、授权远程访问a、登录之后,执⾏命令:(这样远程客户端才能访问)grant all privileges on *.* to root@'%' identified by '123456';其中*.* 的第⼀个*表⽰所有数据库名,第⼆个*表⽰所有的数据库表;root@'%' 中的root表⽰⽤户名,%表⽰ip地址,%也可以指定具体的ip地址,⽐如root@localhost,root@192.168.10.888b、如果还不能远程访问,执⾏以下如下命令刷新权限:flush privileges;c、如果上⾯授权远程访问执⾏之后依然远程连接不上mysql,可能是Linux上防⽕墙拦截了d、防⽕墙开放端⼝命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent命令含义:--zone #作⽤域:查看当前的区域:firewall-cmd --get-default-zone--add-port=3306/tcp #添加端⼝,格式为:端⼝/通讯协议--permanent #永久⽣效,没有此参数重启后失效重新加载防⽕墙配置:firewall-cmd --reload重启防⽕墙:systemctl restart firewalld取消端⼝开放:firewall-cmd --zone=public --remove-port=3306/tcp --permanent查询端⼝号8080 是否开启:firewall-cmd --query-port=8080/tcp查询有哪些端⼝是开启的:firewall-cmd --list-port14、关闭MySQL服务进⼊mysql-5.7.24/bin⽬录下执⾏命令:./mysqladmin -uroot -p -P3306 -h127.0.0.1 shutdown15、其他命令mysql 5.5、mysql 5.6、mysql 5.7:默认的最⼤连接数都是151个,上限为:100000 个;mysql5.0版本:默认的最⼤连接数为100,上限为16384;查看mysql的最⼤连接数:show variables like '%max_connections%';查看当前连接数:show global status like 'max_used_connections';写博客是为了记住⾃⼰容易忘记的东西,另外也是对⾃⼰⼯作的总结,⽂章可以转载,⽆需版权。
yum CentOS7安装MySQL(完整版

CentOS7安装MySQL(完整版)在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c /get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
至此MySQL就安装完成了,然后是对MySQL的一些设置。
2 MySQL数据库设置首先启动MySQL[root@localhost ~]# systemctl start mysqld.service查看MySQL运行状态,运行状态如图:[root@localhost ~]# systemctl status mysqld.service此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root 用户的密码,通过如下命令可以在日志文件中找出密码:[root@localhost ~]# grep "password" /var/log/mysqld.log如下命令进入数据库:[root@localhost ~]# mysql -uroot -p输入初始密码(是上面图片最后面的no;e!5>>alfg),此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'sjw2018';其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功3 开启mysql的远程访问执行以下命令开启远程访问限制(注意:下面命令开启的IP是192.168.0.1,如要开启所有的,用%代替IP):grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;然后再输入下面两行命令mysql> flush privileges;mysql> exit4 为firewalld添加开放端口添加mysql端口3306和Tomcat端口8080[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent然后再重新载入[root@localhost ~]# firewall-cmd --reload5 更改mysql的语言首先重新登录mysql,然后输入status:可以看到,绿色箭头处不是utf-8因此我们先退出mysql,然后再到、etc目录下的f文件下修改一下文件内容进入文件后,新增四行代码:保存更改后的f文件后,重启下mysql,然后输入status再次查看,你就会发现变化啦最后,到Windows下用cmd命令启动mysql啦!!。
centos7环境使用mysql离线安装包安装mysql5.7

centos7环境使⽤mysql离线安装包安装mysql5.7服务器环境:centos7 x64需要安装mysql5.7+⼀、卸载CentOS7系统⾃带mariadb# 查看系统⾃带的Mariadb[root@CDH-141 ~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统⾃带的Mariadb(rpm -e --nodeps)[root@CDH-141 ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64# 删除etc⽬录下的f[root@CDH-141 ~]# rm /etc/f⼆、检查mysql是否存在# 检查mysql是否存在[root@CDH-141 ~]# rpm -qa | grep mysql[root@CDH-141 ~]#三、查看⽤户和组是否存在1)检查mysql组合⽤户是否存在# 检查mysql组和⽤户是否存在,如⽆则创建[root@CDH-141 ~]# cat /etc/group | grep mysql[root@CDH-141 ~]# cat /etc/passwd | grep mysql# 查询全部⽤户(只是做记录,没必要执⾏)[root@CDH-141 ~]# cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F ":" '{print $1 "|" $3 "1" $4}' | moreroot|010sync|510flume|9921989hdfs|9911988zookeeper|9891986llama|9881985httpfs|9871984mapred|9861983sqoop|9851982yarn|9841981kms|9831980hive|9821979oozie|9801977hbase|9781975impala|9761973hue|9741971wlaqzc2018|100111001[root@CDH-141 mysql]#2)若不存在,则创建mysql组和⽤户# 创建mysql⽤户组[root@CDH-141 ~]# groupadd mysql# 创建⼀个⽤户名为mysql的⽤户,并加⼊mysql⽤户组[root@CDH-141 ~]# useradd -g mysql mysql# 制定password 为111111 (⽤户mysql的密码)[root@CDH-141 ~]# passwd mysqlChanging password for user mysql.New password:BAD PASSWORD: The password is a palindromeRetype new password:passwd: all authentication tokens updated successfully.四、下载mysql离线安装包tar⽂件官⽹下载地址:版本选择,可以选择⼀下两种⽅式:1)使⽤Red Hat Enterprise LinuxSelect Version:5.7.35Select Operating System:Red Hat Enterprise Linux / Oracle LinuxSelect OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)列表中下载:Compressed TAR Archive:(mysql-5.7.35-el7-x86_64.tar.gz)2)使⽤Linux - GenericSelect Version:5.7.35Select Operating System:Linux - GenericSelect OS Version:Linux - Generic (glibc 2.12) (x86, 64-bit)列表中下载:Compressed TAR Archive:(mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz)【本⽂中使⽤的是这个版本】注意:上边两种⽅式找mysql离线安装包的⽅式都可以。
CentOS7下安装与配置MySQL5.7

CentOS7下安装与配置MySQL5.7本⽂测试环境:CentOS 7 64-bit Minimal MySQL 5.7配置 yum 源rpm 安装包安装 mysql 源# 下载shell> wget https:///get/mysql57-community-release-el7-11.noarch.rpm# 安装 mysql 源shell> yum localinstall mysql57-community-release-el7-11.noarch.rpm⽤下⾯的命令检查 mysql 源是否安装成功shell> yum repolist enabled | grep "mysql.*-community.*"mysql 源安装成功安装 MySQL使⽤ yum install 命令安装shell> yum install mysql-community-server启动 MySQL 服务在 CentOS 7 下,新的启动/关闭服务的命令是 systemctl start|stopshell> systemctl start mysqld⽤ systemctl status 查看 MySQL 状态shell> systemctl status mysqldMySQL 启动状态设置开机启动shell> systemctl enable mysqld shell> systemctl daemon-reload修改 root 本地账户密码mysql 安装完成之后,⽣成的默认密码在 /var/log/mysqld.log ⽂件中。
使⽤ grep 命令找到⽇志中的密码。
shell> grep 'temporary password' /var/log/mysqld.log查看临时密码⾸次通过初始密码登录后,使⽤以下命令修改密码shell> mysql -uroot -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';或者mysql> set password for 'root'@'localhost'=password('MyNewPass4!');以后通过 update set 语句修改密码mysql> use mysql; mysql> update user set password=PASSWORD('MyNewPass5!') where user='root';注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:⼤⼩写字母、数字和特殊符号,并且长度不能少于8位。
centos6.7源码安装mysql

Centos6.7源码安装mysql演示环境系统:Linux CentOS 6.7 64位账号:root环境:无安装mysql1.MySQL源码安装首先安装MySQL的依赖软件包,这里采用yum源安装依赖包[root@bogon lnmp]# yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel cmake[root@bogon lnmp]# tar xf mysql-5.6.10.tar.gz[root@bogon lnmp]# cd mysql-5.6.10[root@bogon lnmp]# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据库存放目录-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径-DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装myisam 存储引擎-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安装innodb 存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安装archive 存储引擎-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安装blackhole 存储引擎-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装数据库分区-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据-DWITH_READLINE=1 \ #快捷键功能-DWITH_SSL=yes \ #支持SSL-DDEFAULT_CHARSET=utf8 \ #使用utf8 字符-DDEFAULT_COLLATION=utf8_general_ci \ #校验字符-DEXTRA_CHARSETS=all \ #安装所有扩展字符集-DMYSQL_TCP_PORT=3306 \ #MySQL 监听端口[root@bogon lnmp]# make && make install重新编译时,需要清除旧的对象文件和缓存信息[root@bogon lnmp]# make clean[root@bogon lnmp]# rm -f CmakeCache.txt[root@bogon lnmp]# groupadd mysql[root@bogon lnmp]# useradd -M -s /sbin/nologin mysql //增加mysql用户无法登录系统[root@bogon lnmp]# cd /usr/local/mysql[root@bogon mysql]# cp support-files/f /etc/f //如果/etc下存在f文件覆盖该文件即可[root@bogon mysql]# chown -R mysql:mysql . // 递归将该目录及其子目录用户和组设置成mysql[root@bogon mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data//数据库初始化设置用户及安装目录路径[root@bogon mysql]#cp support-files/mysql.server /etc/init.d/mysqld //将启动脚本复制到系统启动脚本位置[root@bogon mysql]# chmod +x /etc/init.d/mysqld //给启动脚本执行权限[root@bogon mysql]# /etc/init.d/mysqld start[root@bogon mysql]# chkconfig mysqld on[root@bogon mysql]# vim /etc/profile //设置环境变量PATH=$PATH:/usr/local/mysql/binexport PATH //在尾部加入这两行[root@bogon mysql]# source /etc/profile //使加入的两行变量生效[root@bogon mysql]# mysql_secure_installation //按提示完成mysql 安全设置,生产环境推荐使用。
CentOS7安装MySQL5.7方法总结-实操手册

CentOS7安装MySQL5.7⽅法总结-实操⼿册Centos7.x版本下针对Mysql的安装和使⽤多少跟之前的Centos6之前版本有所不同的,废话就不多赘述了,下⾯介绍下在centos7.x环境⾥安装mysql5.7的⼏种⽅法:⼀、yum⽅式安装Centos7.x版本下针对Mysql的安装和使⽤多少跟之前的Centos6之前版本有所不同的,废话就不多赘述了,下⾯介绍下在centos7.x环境⾥安装mysql5.7的⼏种⽅法:⼀、yum⽅式安装从CentOS 7.0发布以来,yum源中开始使⽤Mariadb来代替MySQL的安装。
即使你输⼊的是yum install -y mysql , 显⽰的也是Mariadb的安装内容。
使⽤源代码进⾏编译安装⼜太⿇烦。
因此,如果想使⽤yum安装MySQL的话,就需要去下载官⽅指定的yum源.yum下载⽹址为:https:///downloads/repo/yum/找到Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package,单击后⾯的Download,在新的页⾯中单击最下⾯的No thanks, just start my download.就可以下载到yum源了。
1)安装MySQL YUM资源库[root@kevin ~]# yum localinstall https:///get/mysql57-community-release-el7-8.noarch.rpm2)安装MySQL 5.7[root@kevin ~]# yum install -y mysql-community-server3)启动MySQL服务器和MySQL的⾃动启动[root@kevin ~]# systemctl start mysqld.service[root@kevin ~]# systemctl enable mysqld.service4)密码问题由于MySQL从5.7开始不允许⾸次安装后使⽤空密码进⾏登录!为了加强安全性,系统会随机⽣成⼀个密码以供管理员⾸次登录使⽤,这个密码记录在/var/log/mysqld.log⽂件中,使⽤下⾯的命令可以查看此密码:[root@kevin ~]# cat /var/log/mysqld.log|grep 'A temporary password'2018-01-24T02:32:20.210903Z 1 [Note] A temporary password is generated for root@localhost: DOqInortw9/<最后⼀⾏冒号后⾯的部分DOqInortw9/<就是初始密码。
Centos7安装MySQL详细步骤

Centos7安装MySQL详细步骤Centos7 安装MySQL详细步骤⾸先在虚拟机中安装⼀个Centos7()1.1 MySQL安装1.1.1 下载wget命令yum -y install wget11.1.2 在线下载mysqlwget https:///get/mysql57-community-release-el7-8.noarch.rpm11.1.3 安装rpm -ivh mysql57-community-release-el7-8.noarch.rpm11.1.4 安装mysql服务⾸先进⼊cd /etc/yum.repos.d/⽬录。
cd /etc/yum.repos.d/1安装MySQL服务(这个过程可能有点慢)yum -y install mysql-server11.1.5 启动systemctl start mysqld11.2 修改MySQL临时密码MySQL安装成功后会有⼀个临时密码,我们可以使⽤grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。
1.2.1 获取MySQLgrep 'temporary password' /var/log/mysqld.log11.2.2 使⽤临时密码先登录mysql -uroot -p1我的临时密码是:a22XRJ88=+a;1.2.3 把MySQLset global validate_password_policy=LOW;11.2.4 修改MySQL的密码长度set global validate_password_length=5;11.2.5 修改MySQL密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin';11.3 允许远程访问1.3.1 ⾸先要关闭Cenotssudo systemctl disable firewalld11.3.2 修改MySQL允许任何⼈连接1)⾸先登录MySQLmysql -uroot -padmin12)切换到mysql数据use mysql;13)查看user表select Host,User from user;1发现root⽤户只允许localhost主机登录登录。
如何在Linux中安装Mysql(centos7)

如何在Linux中安装Mysql(centos7)⼀、yum安装mysql1、先在Linux中安装wget,命令为:yum install wget 2、再在Linux中创建⽂件夹4、再编译wget,命令为:rpm -ivh mysql-community-release-el7-5.noarch.rpm5、之后就可以安装Mysql服务器,这步时间会久点,执⾏命令为:yum -y install mysql-community-server(博主已安装完成)6、安装完成后需要重启⼀下Linux,直接输⼊reboot即可。
然后重新登录xshell。
7、安装完成后查看版本号:mysql -V8、安装完成后重启mysql服务,查看状态是 Active: active (running) ,说明启动成功。
启动服务命令:service mysqld restart查看mysql运⾏状态,命令:systemctl status mysql.service9、最后,停掉mysql服务,命令为:service mysqld stop # 或者 systemctl stop mysql.service⼆、Mysql重置密码以安全⽅式启动mysql,命令为:/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &然后执⾏命令: /usr/bin/mysql -u root mysql出现“mysql>”提⽰符后输⼊命令:mysql> update user set password = Password('root') where User = 'root';执⾏这个语句后,账号密码都是root。
回车后执⾏(刷新MySQL系统权限相关的表):mysql> flush privileges;再执⾏exit退出:mysql> exit;退出成功后,使⽤相关命令登陆mysql,试试是否成功,命令:mysql -u root -p 按提⽰输⼊密码:root,提⽰如下表⽰成功。
Centos7下Mysql5.7详细安装步骤

Centos7下Mysql5.7详细安装步骤武深龙2018-5-14切记,mysql5.7以后默认是有初始化密码的,另外Centos7中关闭防火墙的命令与之前版本不大一样,本人在安装过程中此两处有些波折。
1.首先查找Centos7是否默认安装mariadb,具体命令如下:# rpm -qa|grep mariadb2.如果存在mariadb,则执行如下命令进行卸载:# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_643.再次确认mariadb是否卸载干净,具体命令如下:# rpm -qa|grep mariadb4.创建mysql所在的用户组,具体命令如下:# groupadd mysql5.创建mysql所使用的用户,具体命令如下:# useradd -g mysql mysql6.将mysql安装包拷贝到Centos7内,本文档默认拷贝到/wsl目录下,解压安装包命令如下:#tar -zxvf /wsl/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz7.在根目录下创建一个子目录work,命令如下:#mkdir work8.将解压后的mysql目录移动至/work目录下并且改名为mysql,具体命令如下:#mv /wsl/mysql-5.7.22-linux-glibc2.12-x86_64 /work/mysql9.修改mysql安装目录的权限,具体命令如下:#cd /work/mysql# chown -R mysql . //此命令把当前目录下的文件及目录的属性修改为mysql用户# chgrp -R mysql . //此命令把当前目录下的文件及目录所属组修改为mysql组10.创建data目录用于存放数据库文件,具体命令如下:# mkdir data11.开始进行mysql系统初始化,执行命令大致如下:# /work/mysql/bin/mysqld --initialize --user=mysql --basedir=/work/mysql --datadir=/work/mysql/data执行上述命令的时候一定要注意,系统执行过程中回显内容大致如下:2018-05-14T01:12:57.186210Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2018-05-14T01:12:58.102507Z 0 [Warning] InnoDB: New log files created, LSN=457902018-05-14T01:12:58.295969Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2018-05-14T01:12:58.370692Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: f06157ca-5713-11e8-815a-080027324a9b.2018-05-14T01:12:58.374250Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2018-05-14T01:12:58.377082Z 1 [Note] A temporary password is generated for root@localhost: <NWI%lIhk1(e其中最后的一串字符<NWI%lIhk1(e为mysql初始化后的默认密码,这个密码一定要记住,否则后续操作将无法顺利进行,切记!12.第一次启动mysql,具体命令如下:# /work/mysql/bin/mysqld_safe --user=mysql &13.重新打开一个终端窗口或远程访问窗口,查看mysql是否成功启动,如果进程中有就证明启动成功,具体命令如下:# ps aux |grep mysqld执行后返回结果大致如下:root 15164 0.0 0.0 113256 1612 pts/0 S 09:17 0:00 /bin/sh /work/mysql/bin/mysqld_safe --user=mysqlmysql 15234 0.2 4.5 1119180 178276 pts/0 Sl 09:17 0:00/work/mysql/bin/mysqld --basedir=/work/mysql --datadir=/work/mysql/data --plugin-dir=/work/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=localhost.localdomain.pidroot 15328 0.0 0.0 112664 972 pts/1 R+ 09:19 0:00 grep --color=auto mysqld14.修改mysql的默认密码,具体命令如下:# /work/mysql/bin/mysqladmin -uroot -p passwordEnter password:New password:Confirm new password:Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.如果出现大致如上提示,证明密码修改成功。
centos7安装mysql(完整)

centos7安装mysql (完整)安装包下载并上传到Linux 系统中官⽹5.7版本:可以使⽤xftp 上传到Linux中解压安装包并安装使⽤tar命令解压安装新版mysql 前,需将系统⾃带的mariadb-lib 卸载mariadb-libs-5.5.60-1.el7_5.x86_64为了避免出现权限问题,给mysql 解压⽂件所在⽬录赋予最⼤权限严格按照顺序安装:mysql-community-common-5.7.29-1.el7.x86_64.rpm 、mysql-community-libs-5.7.29-1.el7.x86_64.rpm 、mysql-community-client-5.7.29-1.el7.x86_64.rpm 、mysql-community-server-5.7.29-1.el7.x86_64.rpm 这四个包如果安装过程中出现这个错误就在后⾯添加 --force --nodeps ,这可能是由于yum 安装了旧版本的GPG keys造成的配置数据库添加这三⾏tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tarrpm -qa|grep mariadbrpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64chmod -R 777 mysqlrpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpmvim /etc/fskip-grant-tablescharacter_set_server =utf8init_connect ='SET NAMES utf8'skip-grant-tables:跳过登录验证character_set_server=utf8:设置默认字符集UTF-8init_connect='SET NAMES utf8':设置默认字符集UTF-8启动mysql 服务设置开机启动systemctl start mysqld.service启动mysqlmysql设置密码和开启远程登录设置密码先设置⼀个简单的密码update er set authentication_string=password('123456') where user='root';⽴即⽣效flush privileges;退出mysql并停⽌mysql服务systemctl stop mysqld.service编辑f配置⽂件将:skip-grant-tables这⼀⾏注释掉重启mysql服务systemctl start mysqld.service再次登录mysqlmysql -uroot -p123456如果输⼊其他命令出错,再重设密码set password=password('123456');设置密码策略(这步可以跳过)如果想要设置简单⼀点的密码就要设置密码策略,否则设置简单的密码会出错查看密码策略SHOW VARIABLES LIKE 'validate_password%';1)、validate_password_length 固定密码的总长度;2)、validate_password_dictionary_file 指定密码验证的⽂件路径;3)、validate_password_mixed_case_count 整个密码中⾄少要包含⼤/⼩写字母的总个数;4)、validate_password_number_count 整个密码中⾄少要包含阿拉伯数字的个数;5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM ;设置密码的验证强度等级,设置 validate_password_policy 的全局参数为LOW只要设置密码的长度⼩于 3 ,都将⾃动设值为4开放3306端⼝开放端⼝--zone #作⽤域--add-port=80/tcp #添加端⼝,格式为:端⼝/通讯协议--permanent #永久⽣效,没有此参数重启后失效重启防⽕墙开启远程登录by 后⾯的就是远程登录密码,远程登录密码可以和⽤户密码不⼀样set global validate_password_policy=LOW;set global validate_password_length=4;firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reloadgrant all privileges on *.* to 'root'@'%' identified by '123123' with grant option;。
Linuxcentos7环境下MySQL安装教程

Linux centos7环境下MySQL安装教程MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。
那么你知道Linux centos7环境下MySQL安装教程么?接下来是小编为大家收集的Linux centos7环境下MySQL安装教程,欢迎大家阅读:Linux centos7环境下MySQL安装教程1)、my.ini 保存到/etc/my.ini2)、用户权限,单独用户执行一、查找以前是否安装有mysql,使用下面命令:rpm –qa | grep -i mysql如果显示有如下包则说明已安装mysqlmysql-4.1.12-3.RHEL4.1mysqlclient10-3.23.58-4.RHEL4.1二、下载mysql解压包mysql-5.7.17-linux-glibc2.5-x86_64.tar (去网站上下载)网址:/mysql/MySQL-5.7/也可以在Linux操作系统底下进行下载,输入如下命令wget /mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz创建目录software用于存放我们待会要下载的mysql包,先去到该目录输入命令:cd /software下载完成后,你会在software目录下看到多出一份mysql安装包文件三、建立用户,以及mysql的目录1、groupadd mysql #建立一个mysql的组2、useradd -r -g mysqlmysql #建立mysql用户,并且把用户放到mysql组3、passwd mysql #给mysql用户设置一个密码四、解压mysql安装包1、先把tar.gz包移动到/usr/local 目录下,输入命令mv /software/MySQL/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz/usr/local2、解压tar.gz包先去到/usr/local 目录下,输入命令cd /usr/local解压命令 tarzxvfmysql-5.7.17-linux-glibc2.5-x86_64.tar.gz输入查看目录命令 ll会发现多出目录 mysql-5.7.17-linux-glibc2.5-x86_64注意:没有data 目录,my.ini文件在support-files 目录下3、改一下目录名字为 /usr/local/mysql(这是linux下mysql的默认安装安装目录)把解压出来的文件改下名字,改为mysql输入命令: mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql五、配置相关的启动配置文件首先要去到support-files/文件目录下输入命令: cd support-files/1、复制f 到 /etc/f (mysql启动时自动读取)输入命令 f /etc/f2、解决乱码问题输入命令:vi /etc/f (进入可编辑状态)更改:[mysql]default-character-set=utf8(表示解决客户端乱码问题)[mysqld]default-storage-engine=INNODBcharacter_set_server=utf8(表示解决服务端乱码问题)3、复制mysql.server 到/etc/init.d/ 目录下【目的想实现mysqld -install这样开机自动执行效果】输入命令 cp mysql.server /etc/init.d/mysql (mysql是服务名)注意:/etc/init.d/ 目录,等效于注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services记录有那些服务4、修改/etc/init.d/mysql 参数输入命令 vi /etc/init.d/mysql给与两个目录位置basedir=/usr/local/mysqldatadir=/usr/local/mysql/data5、给目录/usr/local/mysql 更改拥有者输入命令 chown -R mysql:mysql /usr/local/mysql/六、初始化mysql的数据库1、初始化mysqlmysql_install_db (老版本的做法)新版本:初始化输入命令./mysqld --initialize --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 生成出一个data目录,代表数据库已经初始化成功并且mysql的root用户生成一个临时密码:(记录下临时密码XXX)2、给数据库加密输入命令./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data3、启动mysql输入命令 ./mysqld_safe --user=mysql & (&符表示提交到后台运行mysql服务)七、进入客户端1、登录输入命令 ./mysql -uroot -p然后再输入你的临时密码2、修改密码输入命令set password=password(‘xxxx')八、window远程访问Linux虚拟机的mysql先来看看数据库结构1、关闭防火墙 (或者给防火墙开放端口),这样window才能连接上输入命令 systemctl stop firewalld.service2、给Windows授权输入命令mysql>grant all privileges on *.* toroot@'%' identified by '123456';mysql>use mysql;mysql>select host,user from user;【多出一条远程登录用户记录】mysql>flush privileges;3、远程链接数据库,或者重启(init 6)。
CentOS7系统离线安装Mysql-保姆级安装

CentOS7离线安装Mysql 2024/12/9前言在部分现场部署环境中可能存在以下问题. 无法访问公网. 系统可能是最小化安装或者说缺乏必要的依赖包以上两种情况下使用RPM方式安装总是或多或少缺少依赖包和组件,极大的影响了部署的效率,同时,在进行静态迁移时比较麻烦。
最近的项目中尝试使用压缩包安装的方式,好处是即使在最小化安装下也不需要依赖包,在部署环境不能访问公网的情况下非常有效,经过反复的测试后,结合网络上的文档进行总结,便于日后参考。
部署环境Mysql版本:8.0.22安装包下载CentOS7离线安装Mysql 2024/12/9进入官网下载界面:(按照截图所示,一步步操作). Linux-Generic 这个是linux通用的意思·上图重所选的版本Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive 下载后是一个文件名为mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz 的压缩包1. 系统及环境配置编辑f一般来说CentOS7最小化安装系统本身也自带mariadb相关的包,如下图所以在/etc/路径下存CentOS7离线安装Mysql 2024/12/9在f文件,但这个文件是直接给mariadb用的所以我们要注释文件中的所有内容,并添加mysql的相关参数(如下)修改后如下以上参数中的路径可以根据实际情况进行修改,这里我将准备将mysql安装在/data/目录下CentOS7离线安装Mysql 2024/12/9配置mysql的子账号[root@localhost ~]# groupadd mysql[root@localhost ~]# useradd -g mysql mysql2. 安装过程·安装包存储目录:/data/package/ ·mysql安装路径:/data/mysql解压缩安装包[root@localhost ~]# cd /data/package/ #进入安装包存储目录[root@localhost package]# tar xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz #将安装包解压[root@localhost package]# mv mysql-8.0.22-linux-glibc2.12-x86_64 ../mysql #将解压后的文件夹移动到/data/目录初始化mysql[root@localhost ~]# /data/mysql/bin/mysqld --defaults-file=/etc/f -- initialize--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data在这个初始化的过程中,会自动生成初始密码,如上图红框中的yyrewgQ>t1Uymysql目录赋权[root@localhost ~]# cd /datamysql/[root@localhost mysql]# chown -R mysql.[root@localhost mysql]# chgrp -R mysql.[root@localhost mysql]# ll总用量 392drwx------. 2mysql mysql40969月2322:11bindrwxr-x---. 6mysql mysql409611月1414:59datadrwx------. 2mysql mysql559月2322:11docs drwx------. 3mysql mysql40969月2322:11include drwx------. 6mysql mysql2019月2322:11lib-rw-r--r--. 1mysql mysql3789129月2320:37LICENSE drwx------. 4mysql mysql309月2322:11man-rw-r--r--. 1mysql mysql6879月2320:37READMEdrwx------. 28mysql mysql40969月2322:11shareCentOS7离线安装Mysql 2024/12/9 drwx------. 2 mysql mysql 77 9月23 22:11 support-files[root@localhost mysql]#启动服务[root@localhost mysql]# /data/mysql/support-files/mysql.server start StartingMySQL... SUCCESS![root@localhost mysql]#出现Starting MySQL... SUCCESS!表示启动成功创建命令链接只有创建了命令链接,才能在命令行直接使用mysql指令[root@localhost ~]# ln -s /data/mysql/bin/mysql /usr/bin进入mysql[root@localhost mysql]# mysql -uroot -pEnter password:提示输入密码,这里输入初始化的时候生成的密码,就可以进入mysql了修改mysql密码CentOS7离线安装Mysql 2024/12/9首次登陆mysql后必须修改初始密码,否则无法进行其他操作,这里我将新密码设置为123456【可选】开启远程访问当安全等级要求比较高的时候可以不开配置成服务并开机启动chkconfig mysql on让mysql可以开机启动chkconfig --add mysql将mysql添加为系统服务,这样就可以使用类似systemctl stop mysql这样的命令。
Linux系统安装下安装mysql5.7(glibc版)

Linux系统安装下安装mysql5.7(glibc版)前⾔:经过⼀天半的折腾,终于把 mysql 5.7.17 版本安装上了 centos 7 系统上,把能参考的博客⼏乎都看了⼀遍,终于发现这些细节问题,然⽽翻了⽆数的⽂章,基本上都没有提到这些,所以⼩⽣尽量把这些细节写下来,⼀⽅⾯是供初学者们参考,另⼀⽅⾯也是对⾃⼰花这么长时间的摸索的⼀个总结,如有不⾜之处欢迎各路⾼⼿指正。
⼀、安装前的检查 1.1 检查 linux 系统版本 [root@localhost ~]# cat /etc/system-release 说明:⼩⽣的版本为 linux 64位:CentOS Linux release 7.4.1708 (Core) 1.2 检查是否安装了 mysql [root@localhost ~]# rpm -qa | grep mysql 若存在 mysql 安装⽂件,则会显⽰ mysql安装的版本信息 如:mysql-connector-odbc-5.2.5-6.el7.x86_64 卸载已安装的MySQL,卸载mysql命令,如下: [root@localhost ~]# rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64 将/var/lib/mysql⽂件夹下的所有⽂件都删除⼲净。
细节注意: 检查⼀下系统是否存在 mariadb 数据库,如果有,⼀定要卸载掉,否则可能与 mysql 产⽣冲突。
系统安装模式的是最⼩安装,所以没有这个数据库。
检查是否安装了 mariadb:[root@localhost ~]# rpm -qa | grep mariadb 如果有就使劲卸载⼲净:systemctl stop mariadbrpm -qa | grep mariadbrpm -e --nodeps mariadb-5.5.52-1.el7.x86_64rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 1.3 系统内存检查 检查⼀下 linux 系统的虚拟内存⼤⼩,如果内存不⾜ 1G,启动 mysql 的时候可能会产⽣下⾯这个错误提⽰: Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.[FAILED] ⼩⽣起初安装的时候使⽤的是虚拟机⾃动分区,内存设置的是 1G,结果在这上⾯话费了⼤量的精⼒和时间去调试始终也启动没成功。
Centos7中mysql安装以及命令

Centos7中mysql安装以及命令Centos7将默认数据库mysql替换成了Mariadb,⾸先要卸载默认数据库的[root@localhost ~]# rpm -qa|grep mariadbmariadb-libs-5.5.52-1.el7.x86_64[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64开始安装mysql5.72. 进⼊/usr/local/⽬录,并解压[root@localhost local]#tar -zxvf mysql-advanced-5.6.24-linux-glibc2.5-x86_64.tar.gz将解压好的⽂件夹重命名为mysql5.73、创建⼀个mysql⽤户组和mysql的⽤户名[root@localhost local]# groupadd mysql[root@localhost local]# useradd -g mysql mysql //将mysql⽤户添加到mysql的⽤户组中4. 进⼊mysql5.7⽬录,并创建两个⽬录[root@localhost mysql5.7]# mkdir data[root@localhost mysql5.7]# mdir logs创建⼀个配置⽂件 f[root@localhost mysql5.7]# vim f关于mysql的配置⽂件 f配置 , 以下先给⼀个例⼦:[client]port = 3306socket = /var/lib/mysql/mysql.sock[mysql]#这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得⽐较快。
no-auto-rehash[mysqld]user = mysqlport = 3306socket = /var/lib/mysql/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysql/data/open_files_limit = 10240back_log = 600#在MYSQL暂时停⽌响应新请求之前,短时间内的多少个请求可以被存在堆栈中。
mysql5.7.17安装步骤

mysql5.7.17安装步骤mysql5.7.17 安装部署⼿册1、简介1.1 ⽬的帮助现研发、测试和实施⼈员安装部署系统,提⾼⼯作效率。
1.2 适⽤范围实施⼈员、项⽬经理、项⽬成员。
1.3 引⽤⽂件https:///weixin_39845825/article/details/1132711561.4 特别声明2、安装部署步骤2.1 环境依赖(缺少依赖的话后⾯编译会报错)在Mysql+galera安装过程,注意检查以下包是否具备,如果安装中报错,采⽤相应的命令处理- zlib- zlib-devel- cmake- gcc- ncurses-devel- libxml2-devel- gcc-c++- autoconf- automake- zlib-devel- bison- rsync- perl-DBI- perl-DBD-MySQL#- perl-PlRPC(linux7)#- perl-IO-Compress(linux7)- audit-libs-python- checkpolicy- libcgroup- libsemanage-python- policycoreutils-python- python-IPy- scl-utils- setools-libs- socat- libev2.2 ⽤户环境准备安装前最好建⽴组和⽤户,强烈建议建⽴mysql⽤户,当前操作在root⽤户进⾏1、创建⽤户组 groupadd bx2、创建public、mysql和bx⽤户并在这个组中# useradd -d /home/mysql -g bx -m mysql宝信项⽬这⾥创建的组是bx,⽤户是mysql2.3 安装⼯具库安装编译源码所需的⼯具和库,当前操作在root⽤户进⾏yum install gcc gcc-c++ ncurses-devel perl2.4 安装cmakeyum –y install cmake,当前操作在root下进⾏2.5 卸载旧版本使⽤下⾯的命令检查是否安装有MySQL Serverrpm -qa | grep mysql有的话通过下⾯的命令来卸载掉rpm -e mysql //普通删除模式rpm -e --nodeps mysql // 强⼒删除模式,如果使⽤上⾯命令删除时,提⽰有依赖的其它⽂件,则⽤该命令可以对其进⾏强⼒删除2.6 下载、解压源码包tar xvf mysql-5.7.17.tar.gzcd mysql-5.7.172.7 编译安装cmake . \-DCMAKE_INSTALL_PREFIX=/home/mysql/mysql \ (指定mysql安装⽬录)-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_BOOST=/usr/local/boost \ (这⾥是boost的安装⽬录)-DMYSQL_TCP_PORT=1 \-DENABLE_DOWNLOADS=0 \-DWITH_SSL=bundled编译,安装make && make install整个过程需要30分钟左右……漫长的等待3、数据初始化3.1 设置cd /home/mysql/mysql/ #进⼊mysql安装⽬录cp support-files/mysql.server /etc/init.d/mysqld #复制mysql.server到/etc/init.d/mysqldchkconfig --add mysqld #开机⾃启动chkconfig --level 35 mysqld on #设置MySQL服务器在运⾏级别3和5上运⾏3.2 编辑MySQL配置⽂件vim /etc/f #编辑配置⽂件⽂件内容如下:[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306socket=/tmp/mysql.sockbasedir=/home/mysql/mysql #指定mysql的安装路径datadir=/data/mysql/mysql #指定mysql的数据库⽂件路径skip-external-lockingkey_buffer_size=256Mmax_allowed_packet=1Mtable_open_cache=256sort_buffer_size=1Mread_buffer_size=1Mread_rnd_buffer_size=4Mmyisam_sort_buffer_size=64Mthread_cache_size=8query_cache_size=16Mlog-bin=mysql-binbinlog_format=mixedserver-id = 1[mysqldump]quickmax_allowed_packet=16M[mysql]no-auto-rehash[myisamchk]key_buffer_size=128Msort_buffer_size=128Mread_buffer=2Mwrite_buffer=2M[mysqlhotcopy]interactive-timeout3.3 给予MySQL相关的⽤户组[root@surpass mysql]# chown -R mysql:mysql /home/mysql/mysql/ [root@surpass mysql]# chown -R mysql:mysql /data/mysql/mysql [root@surpass mysql]# chown -R mysql:mysql /etc/f3.4 初始化数据库[root@surpass mysql]# bin/mysqld --initialize-insecure \> --user=mysql \> --datadir=/data/mysql/mysql/ \> --basedir=/home/mysql/mysql[root@surpass mysql]# systemctl restart mysqld.service #启动mysql服务3.5 优化启动路径( 创建软连接)[root@surpass mysql]# ln -s /usr/local/mysql/bin/* /usr/bin/[root@surpass mysql]# mysqladmin -u root -p password "111111"mysql -uroot -p #连接mysql服务3.6 修改密码mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';3.7 设置远程主机登录mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;刷新权限:mysql> flush privileges;3.8 为firewalld添加开放端⼝[root@surpass ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent [root@surpass ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent [root@surpass ~]# firewall-cmd --reload事项其它事项4、其它防⽕墙命令墙命令4.1 防⽕[root@localhost ~]# service iptables status停⽌防⽕墙:[root@localhost ~]# service iptables stop启动防⽕墙:[root@localhost ~]# service iptables start重启防⽕墙:[root@localhost ~]# service iptables restart永久关闭防⽕墙:[root@localhost ~]# chkconfig iptables off永久关闭后启⽤:[root@localhost ~]# chkconfig iptables on防⽕墙规则保存许多机器在yum install iptables 后没有防⽕墙规则数据/etc/sysconfig/iptables⽂件[root@localhost ~]# service iptables save5、常见问题5.1 错误1:Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)CMake Error at cmake/readline.cmake:85 (MESSAGE):Curses library not found. Please install appropriate package,remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.1. yum install ncurses-devel2. 删除CMakeCache.txt继续运⾏cmake .5.2 错误2:CMake Error at info_macros.cmake:110 (FILE):file Internal CMake error when trying to open file:/home/osborn.lee/Downloads/mysql-5.6.26/Docs/INFO_BIN for writing.Call Stack (most recent call first):cmake/info_bin.cmake:29 (CREATE_INFO_BIN)make[2]: *** [CMakeFiles/INFO_BIN] Error 1make[1]: *** [CMakeFiles/INFO_BIN.dir/all] Error 2make: *** [all] Error 21. yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make2. 权限不够导致,之前root账号操作的,现在⽤baoxin账号操作;已将paas⽬录下的所有者改为了baoxin5.3 错误3:初始化时报错mysql_install_db: [ERROR] /home/mysql/mysql/bin/mysql_install_db: unknown option '-b'2021-04-20 15:29:42 [ERROR] Unrecognized options。
linuxcentos7安装mysql8的教程

linuxcentos7安装mysql8的教程⼀、RPM版安装查看是否有其他版本的数据库,若有,删除⼲净⾮root⽤户必须要有sudo权限1.下载mysql相关安装包2.其他依赖(可以先跳过该步,看后⾯安装mysql时缺少什么依赖就安装什么依赖)到该⽹址下去寻找gcc、gcc-c++、openssl、perl及其依赖包3.安装mysql(未报错则表⽰安装成功)4.⾃定义配置mysql(如果不想改变mysql的默认相关⽬录,跳⾄第6步)修改Mysql默认的配置⽂件内容sudo vi /etc/f删除所有内容,加⼊以下内容:[mysqld]user=mysqlport=3306datadir=/app/mysql/datasocket=/app/mysql/mysql.socklog-error=/app/mysql/log/mysqld.logpid-file=/app/mysql/mysqld.pid[client]socket=/app/mysql/mysql.sock5.创建配置⽂件中的相关⽬录并修改权限sudo mkdir /app/mysql/data /app/mysql/log -psudo chown mysql:mysql /app/mysql -R6.初始化mysql7.启动mysql若启动出错:a.请查看mysql相关⽬录的所属⽤户和所属组是否是mysqlb.请查看selinux是否关闭:执⾏sudo getenforce得到的结果若不是Permissive,执⾏命令:sudo setenforce 0c.查看端⼝是否被占⽤d.若还是⽆法启动:请查看mysql错误⽇志以及sudo systemctl status mysqld或者journalctl -xe8.登录mysql查看Mysql的初始密码(root@localhost:后⾯的就是初始密码)sudo cat /app/mysql/log |grep root@localhost (做过第4步使⽤该命令)sudo cat /var/log/mysqld.log|grep root@localhost (未做过第4步使⽤该命令)登录mysql,复制上⾯的密码mysql -p9.修改mysql密码(初次登录必须修改密码,否则⽆法使⽤mysql命令)alter user 'root'@'localhost' identified by '你的密码';⼆、源码版安装⾮root⽤户必须要有sudo权限1.下载相关源码包2.安装低版本的gcc、gcc-c++(必须要做,否则升级gcc安装m4/gmp/mpfr/mpc时configure会报错:configure: error: no acceptable C compiler found in $PATH)3.安装源码版cmake必须安装openssl和openssl-devel依赖,下载⽹址同上,否则bootstrap会报错:找不到openssl(能连外⽹的可以直接使⽤命令:sudo yum -y install openssl openssl-devel)tar cmake-3.16.1.tgzcd cmake-3.16.1sudo ./bootstrapsudo makesudo make checksudo make install4.升级gcc、gcc-c++a.安装m4tar -xzvf m4-latest.tar.gzcd m4-1.4.17/sudo ./configure --prefix=/usr/local(--prefix指定安装路径)sudo make (编译)sudo make check (检查编译是否有错,注意是否有Error,可以不做)sudo make install (安装)m4 --version (查看m4版本)正确安装后可以看到如下结果b.安装gmpsudo ln -s /usr/local/bin/m4 /usr/bin (把m4做⼀个软连接到此路径下,否则configure时会报错:checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).)tar -xvf gmp-6.2.0.tar.xzcd gmp-6.2.0sudo ./configure --prefix=/usr/local/gmp-6.2 (⾮管理员必须要sudo,否则会报错:Permission denied)sudo makesudo make checksudo make installc.安装mpfrtar -xzvf mpfr-4.0.2.tar.gzcd mpfr-4.0.2sudo ./configure --prefix=/usr/local/mpfr-4.0 --with-gmp=/usr/local/gmp-6.2 (--with-gmp为gmp的安装⽬录)sudo makesudo make checksudo make installd.安装mpctar -xzvf mpc-1.1.0.tar.gzcd mpc-1.1sudo ./configure --prefix=/usr/local/mpc-1.1 --with-gmp=/usr/local/gmp-6.2 --with-mpfr=/usr/local/mpfr-4.0sudo makesduo make checksudo make installe.加⼊库⽂件(/usr/local/mpfr-4.0/lib/必须加⼊库⽂件,其他两个可以不做,否则安装升级gcc编译时会报错:error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory)sudo vi /etc/ld.so.conf/usr/local/mpfr-4.0/lib//usr/local/gmp-6.2/lib/usr/local/mpc-1.1/libsudo ldconfig (使上⾯的操作⽣效)或者做软连接sudo ln -s /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin或者复制sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/f.安装其他依赖(系统未安装依赖包时,必须要装,否则升级gcc编译时会报错:mpc.h:没有那个⽂件或⽬录)下载gmp-devel和libmpc-devel及其依赖包(能连外⽹的可以直接使⽤命令:sudo yum -y install gmp-devel libmpc-devel)g.升级gcctar -xzvf gcc-9.2.0.tar.gzcd gcc-9.2.0sudo ./configure --prefix=/usr/local/gcc-9.2 \--enable-bootstrap\--enable-checking=release \--enable-languages=c,c++ \--enable-threads=posix \--disable-checking\--disable-multilib\--enable--long-long\--with-gmp=/usr/local/gmp-6.2\--with-mpfr=/usr/local/mpfr-4.0\--with-mpc=/usr/local/mpc-1.1sudo make (编译时间较长,1个⼩时的样⼦)sudo make checksudo make install务必卸载低版本的gcc、gcc-c++sudo rpm -e gcc-c++sudo rpm -e gccsudo vi /etc/profile export PATH=$PATH:/usr/local/gcc/bin source /etc/profile查看gcc版本号gcc --version5.安装源码版mysql安装ncurses-devel依赖,否则cmake报错:Curses library not found.Please install appropriate package(能连外⽹的可以直接使⽤命令:sudo yum -y install ncurses-devel,不能连上外⽹的下载地址同第2步⼀样) tar -xzvf mysql-8.0.19.tar.gzcd mysql-8.0.19cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci\-DENABLED_LOCAL_INFILE=ON\-DWITH_SSL=system\-DMYSQL_DATADIR=/app/mysql/data\-DSYSCONFDIR=/app/mysql/config\-DMYSQL_TCP_PORT=3306\-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock\-DWITH_BOOST=/home/mcbadm/mysql8/\-DFORCE_INSOURCE_BUILD=1-DDEFAULT_CHARSET:设置字符集-DDEFAULT_COLLATION:设置排序规则-DENABLED_LOCAL_INFILE=ON:启⽤本地数据导⼊⽀持-DWITH_SSL=system:启⽤ssl库⽀持-DMYSQL_DATADIR:数据⽂件⽬录,可任意-DSYSCONFDIR:配置⽂件⽬录,可任意-DMYSQL_TCP_PORT:mysql监听的TCP端⼝-DMYSQL_UNIX_ADDR:mysql.sock路径,可任意-DWITH_BOOST:boost源码包所在⽬录-DFORCE_INSOURCE_BUILD:强制建⽴未存在的资源⽬录cmake若报错,请找到原因解决后删除CMakeCache.txt再次cmakesudo rm -rf /usr/lib64/libstdc++.so.6* (删掉所有低版本c++的库⽂件)sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (把新安装的⾼本版c++库⽂件加⼊到系统库⽂件中)sudo make (需要⼤概1⼩时)sudo make install6.编写配置⽂件,建⽴⽬录并授权sudo mkdir /app/mysql/configsudo cd /app/mysqlsudo vi config/f加⼊以下内容:[mysqld]user=mysqlport=3306datadir=/app/mysql/datasocket=/app/mysql/mysql.sock[mysqld_safe]log-error=/app/mysql/logs/mysql-err.logpid-file=/app/mysql/mysql.pid[client]socket=/app/mysql/mysql.socksudo useradd mysql -s /sbin/nologinsudo mkdir -p /app/mysql/logssudo touch /app/mysql/logs/mysql-err.logsudo chown -R mysql.mysql /app/mysql7.初始化并登陆修改密码初始化sudo /app/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql (⽆初始密码的,若想要初始密码,使⽤--initialize)启动sudo /app/mysql/support-files/mysql.server start登陆(若⽆初始密码直接回车即可)sudo /app/mysql/bin/mysql -p修改密码alter user 'root'@'localhost' identified by '密码';总结以上所述是⼩编给⼤家介绍的linux centos7安装mysql8的教程,希望对⼤家有所帮助!。
mysql5.7.17安装配置方法图文教程(CentOS7)

mysql -uroot -p
输入密码:
精彩专题分享: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
在使用数据库查询语句时单表的查询有时候不能满足项目的业务需求在项目开发过程中有很多需求都是要涉及到多表的连接查询这篇文章主要给大家介绍了关于mysql连接查询中and与where区别的相关资料需要的朋友可以参考下
mysql5.7.17安装配置方法图文教程( CentOS7)
CentOS7安装mysql笔记 1 CentOS7默认安装mariadb数据库,卸载mariadb。
rpm -qa|grep mariadb
yum remove mariadb-libs.x86_64
2 配置YUM源 1)下载mysql源安装包
wget /201612/yuanma/mysql57YUM().rar
2)安装mysql源
yum localinstall mysql57-community-release-el7-9.noarch.rpm
3)检查mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.”
3 安装MySQL
yum install mysql-community-server
4 启动MySQL服务 1)启动
systemctl start mysqld
2)查看MySQLle mysqld systemctl daemon-reload
6修改root默认密码 1)mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。 通过grep ‘temporary password' /var/log/mysqld.log找到root默认密码:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发人员学Linux(6):CentOS7编译安装MySQL5.17.8多实例及主从复制1.前言上一篇讲述了如何在CentOS7下编译安装Nginx-1.12.0并如何配置反向代理,本篇将讲述如何编译安装MySQL5.7.18并配置多实例和主从复制。
2.准备2.1下载MySQL5.7.18源码注意最新版本的MySQL需要Boost才能编译安装,在MySQL提供的下载中有不带boost的源码,还有带boost的源码,如果下载不带boost的源码还需要再去下载boost源码,为省事起见,建议下载带boost的源码,下载地址:https:////Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz (可直接使用wget下载)注:可以打开网页来下载,网页地址为:https:///downloads/mysql/,当前最新版本为5.7.18,在“Select Operating System:”处选择“Source Code”,然后在图中选择“Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers 5.7.18 58.8M (mysql-boost-5.7.18.tar.gz)”,如下图所示:2.2安装epelEPEL的全称叫Extra Packages for Enterprise linux 。
EPEL是由Fedora 社区打造,为RHEL 及衍生发行版如CentOS、Scientific Linux 等提供高质量软件包的项目。
装上了EPEL之后,就相当于添加了一个第三方源。
在编译MySQL过程中需要一些依赖插件,安装epel后可直接通过yum install 来安装。
执行命令:yum install epel-release –y2.3安装cmake不同于nginx使用make来编译和安装,MySQL使用CMake来编译和安装,安装命令:yum install cmake –y为将来方便还可以把相关的也一并安装了:yum install autoconf automake libtool -y2.4安装可能依赖库yum install krb5 krb5-devel libidn libidn-devel openssl openssl-devel -yyum install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devdel -yyum install zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel -yyum install ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel -yyum install perl-Data_dumper python-devel -y3.编译及安装3.1解压文件假定mysql-boost-5.7.18.tar.gz文件位于/root/目录下(不管是通过wget直接下载的还是通过下载工具上传的),首先解压文件:tar zxvf /root/mysql-boost-5.7.18.tar.gzcd /root/mysql-5.7.183.2配置、编译及安装首先进行参数配置,命令如下:cmake \-DWITH_BOOST=boost \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.18 \-DMYSQL_DATADIR=/usr/local/mysql-5.7.18/data \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DWITH_ZLIB=bundled \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0 \-DWITH_SSL=system然后编译和安装:make && make install这里要说明几点:(1)当命令或参数过长时,为了便于直观显示,可以在其后加上”\”,当然”\”与正常命令之间需要有空格;(2) -DWITH_BOOST=boost 指定boost类库的位置;(3) -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.18 指定安装位置;在上述配置过程中可能会有出错信息,根据出错信息调整响应参数或者安装缺失的类库,直到提示可以安装为止。
然后执行make进行编译,编译过程中没有错误的再执行make install安装,由于源代码体积有点大,编译耗费的时间比较长,在本人2G内存、4核的虚拟机上编译时间超过半小时以上。
安装成功之后,在/usr/local/mysql-5.7.18下就是安装后的文件目录。
注:以上编译是针对多实例的,如果是单实例,则可采用以下配置:cmake \-DWITH_BOOST=boost \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.18 \-DMYSQL_DATADIR=/usr/local/mysql-5.7.18/data \-DMYSQL_TCP_PORT=3306 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DWITH_ZLIB=bundled \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0 \-DWITH_SSL=system4.数据库初始化4.1创建多数据库实例配置文件f文件f文件是MySQL的配置文件,在MySQL启动过程中会读取里面的配置信息。
在本篇中不满足于单实例的配置,本篇将利用3306和3307两个端口创建两个实例,因此需要在/etc/目录下创建f文件。
首先创建文件夹:mkdir –p /usr/local/mysql-5.7.18/data/3306/datamkdir –p /usr/local/mysql-5.7.18/data/3307/data/usr/local/mysql-5.7.18/data/3306文件夹用于存放监听3306端口实例的相关配置信息、执行脚本和数据,/usr/local/mysql-5.7.18/data/3307文件夹用于存放监听3307端口实例的相关配置信息、执行脚本和数据。
因为mysql数据库将以nginx这个用户来运行,因此首先需要创建这个账户:useradd mysql -s /sbin/nologin –m/etc/f的内容:[mysqld_multi]mysqld = /usr/local/mysql-5.7.18/bin/mysqld_safe mysqladmin = /usr/local/mysql-5.7.18/bin/mysqladminuser = mysqlpassword = !QAZ2wsx3edc[mysqld3306]server-id = 1log-bin= /usr/local/mysql-5.7.18/data/3306/mysql-binuser = mysqlpid-file = /usr/local/mysql-5.7.18/data/3306/mysql.pid socket = /usr/local/mysql-5.7.18/data/3306/mysql.socklog-error = /usr/local/mysql-5.7.18/data/3306/mysqld.logport = 3306basedir = /usr/local/mysql-5.7.18datadir = /usr/local/mysql-5.7.18/data/3306/datatmpdir = /tmpopen_files_limit=1024external-locking = falsecharacter-set-server=utf8#default-storage-engine=MyISAMdefault-storage-engine=INNODBexplicit_defaults_for_timestamp=truebind-address = 0.0.0.0max_allowed_packet = 8Mthread_stack = 192Kthread_cache_size = 8max_connections = 800max_connect_errors = 300query_cache_limit = 1Mquery_cache_size = 2Mjoin_buffer_size=1Msort_buffer_size=1Mlong_query_time = 1relay-log = /usr/local/mysql-5.7.18/data/3306/relay-binrelay-log-info-file =/usr/local/mysql-5.7.18/data/3306/ binlog_cache_size = 1Mmax_binlog_cache_size = 1Mmax_binlog_size = 2Mkey_buffer_size=16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1Mlower_case_table_names = 1skip-name-resolveslave-skip-errors =1032,1062replicate-ignore-db = mysqlinnodb_buffer_pool_size = 32Minnodb_data_file_path = ibdata1:12M:autoextendinnodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 4Minnodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0[mysqld3307]server-id = 2user = mysqlpid-file = /usr/local/mysql-5.7.18/data/3307/mysql.pid socket = /usr/local/mysql-5.7.18/data/3307/mysql.socklog-error = /usr/local/mysql-5.7.18/data/3307/mysqld.logport = 3307basedir = /usr/local/mysql-5.7.18datadir = /usr/local/mysql-5.7.18/data/3307/datatmpdir = /tmpopen_files_limit=1024external-locking = falsecharacter-set-server=utf8#default-storage-engine=MyISAMdefault-storage-engine=INNODBexplicit_defaults_for_timestamp=truebind-address = 0.0.0.0max_allowed_packet = 8Mthread_stack = 192Kthread_cache_size = 8max_connections = 800max_connect_errors = 300query_cache_limit = 1Mquery_cache_size = 2Mjoin_buffer_size=1Msort_buffer_size=1Mlong_query_time = 1relay-log = /usr/local/mysql-5.7.18/data/3307/relay-binrelay-log-info-file =/usr/local/mysql-5.7.18/data/3307/ binlog_cache_size = 1Mmax_binlog_cache_size = 1Mmax_binlog_size = 2Mkey_buffer_size=16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1Mlower_case_table_names = 1skip-name-resolveslave-skip-errors =1032,1062replicate-ignore-db = mysqlinnodb_buffer_pool_size = 32Minnodb_data_file_path = ibdata1:12M:autoextendinnodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 4Minnodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0注:在上述文件中配置了两个MySQL实例,并且在3306及3307配置中都提到了mysqld.log这个文件,这个文件是用来记录MySQL启动过程的信息的,不过悲催的是如果这个文件不存在,那么是会启动出错的,可又没有地方可以查看错误,因此需要提前创建好文件并设置权限。