MySQL数据库支持数据库的主从复制功能,因此在集群方面具有其独特的优势,国内外大型网站架构体系中,均采用了MySQL的主从数据库配置来实现查询负载、数据库热备等功能。本人在此将如何配置实现做了个简单小结。
服务器配置,具体iP,主从库如下
主库 IP:192.168.1.189 master server从库 IP:192.168.1.188 slave server
服务器系统为:centos5.6,下载安装软件包具体包括如下
MySQL-client-5.6.13-1.linux_glibc2.5.x86_64.rpmMySQL-devel-5.6.13-1.linux_glibc2.5.x86_64.rpmMySQL-server-5.6.13-1.linux_glibc2.5.x86_64.rpmMySQL-shared-5.6.13-1.linux_glibc2.5.x86_64.rpmMySQL-shared-compat-5.6.13-1.linux_glibc2.5.x86_64.rpmMySQL-test-5.6.13-1.linux_glibc2.5.x86_64.rpm
一、安装mysql,通过yum命令,安装所有所需rpm文件
yum -y install libaio libaio-devel perl-Time-HiRes curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel perl-ExtUtils-MakeMaker perl-DBD-MySQLrpm -ivh MySQL-test-5.6.13-1.linux_glibc2.5.x86_64.rpmrpm -ivh MySQL-shared-5.6.13-1.linux_glibc2.5.x86_64.rpm rpm -ivh MySQL-shared-compat-5.6.13-1.linux_glibc2.5.x86_64.rpm rpm -ivh MySQL-server-5.6.13-1.linux_glibc2.5.x86_64.rpm rpm -ivh MySQL-devel-5.6.13-1.linux_glibc2.5.x86_64.rpm rpm -ivh MySQL-client-5.6.13-1.linux_glibc2.5.x86_64.rpm
二、修改master和slave配置,注意部分参数要根据实际情况来调整,具体步骤如下
主库/etc/my.cnf配置:
[client]port = 3306socket = /state/partition1/mysql/mysql.sockdefault-character-set=utf8[mysqld]server-id=1025log-bin=mysql-master-binbinlog_format = mixedexpire_logs_days=15max_connections=1000innodb_flush_log_at_trx_commit=1sync_binlog=1binlog-do-db=denovo_ngbinlog-ignore-db=mysql,test,information_schemainnodb_buffer_pool_size = 46673Mskip-name-resolvedatadir = /state/partition1/mysql/dataport = 3306socket = /state/partition1/mysql/mysql.sockkey_buffer_size=16Mmax_allowed_packet=16Mjoin_buffer_size = 512Msort_buffer_size = 256Mread_rnd_buffer_size = 128M innodb_buffer_pool_size = 40960Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
从库/etc/my.cnf配置,具体代码如下
[client]port = 3306socket = /state/partition1/mysql/mysql.sock[mysqld]server-id=1052datadir = /state/partition1/mysql/dataport = 3306socket = /state/partition1/mysql/mysql.sockuser=mysqllog-bin=mysql-slave-binmax_binlog_size=1000Mbinlog_format = mixedexpire_logs_days=7innodb_flush_log_at_trx_commit=1sync_binlog=1read_only=1binlog-do-db=denovo_ngbinlog-ignore-db=mysql,test,information_schemainnodb_buffer_pool_size = 36673Mskip-name-resolvemax_connections=1000max_user_connections=490max_connect_errors=2key_buffer_size=16Mmax_allowed_packet=16Mjoin_buffer_size = 512Msort_buffer_size = 256Mread_rnd_buffer_size = 128M innodb_buffer_pool_size = 40960Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
三、进行主从库账号授权操作:
主库
grant replication slave on *.* to ‘jpsync‘@‘192.168.1.189‘ identified by ‘jppasswd‘;flush privileges;show master status; #查看主库信息
从库
stop slave;change master to master_host=‘192.168.1.188‘,master_port=3306,master_user=‘jpsync‘,master_password=‘jppasswd‘, master_log_file=‘mysql-master-bin.000003‘,master_log_pos=408; start slave;show slave statusG;
如果出现
Slave_IO_Running: YesSlave_SQL_Running: Yes
表明mysql主从库成功。
文章来源地址:http://www.yoodb.com/article/display/273
Linux centos5.6版本下mysql5.6主从环境安装配置
标签:
小编还为您整理了以下内容,可能对您也有帮助:
如何安装MySQL,MySQL两种安装方式
mysql在linux下有三种安装方式,依照难以程度排序:
第一种是yum install mysql,这种安装方式最简单,初学可以采用。但是这种安装的弊端是安装的版本比较低,现在安装的话是5.17的版本。
第二种方式是下载最新的MySQL-5.6.25-1.rhel5.x86_64.rpm-bundle.tar,解压缩后,用rpm -ivh 包名,安装四个包就可以了,注意先后顺序。
第三种方式是下载最新的mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解压缩后,手动配置。主要包括配置:增加mysql用户和群组;拷贝my-default.inf文件为my.inf到/etc/下;安装并初始化/mysql-5.6.27/scripts/mysql_install_db --user=mysql --basedir=/... --datadir=/...;增加到服务中chkconfig --add mysql ,chkconfig mysql on ;启动服务service mysql start ;修改root初始密码。操作完以上几部基本上就可以了。
如何在linux上安装mysql 5.6
第一步:进入mysql官方网站
第二步:选择MySQL Community Server(GPL)
第三步:进入下载页面,会看到Mysql Community Server 5.6.17选择自己的linux版本,我的是ubuntu14.04,选择Linux-Generic,把页面往下翻,选择Linux-Generic(glibc 2.5)(x86,64-bit), Compressed TAR Archive下载
第四步:点击下载之后会出现oracle的登陆界面,注册用户后登陆oracle账号,即可免费下载mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
第五步:下载之后文件在/home/liubei/下载 目录下,打开命令行,对文件夹进行解压,给这么长的文件夹起个别名,找到mysql提供的官方安装指导,具体代码:
第五步代码:
shell>cd /usr/local
shell>sudo tar zxvf /home/liubei/下载/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
shell>sudo ln -s mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz mysql
shell>cd mysql
shell>ls
第六步:通过上面的操作你就能看到mysql文件夹里面的INSTALL-BINARY文件,用gedit将其打开,代码如下
第六步代码:
shell>gedit INSTALL-BINARY
第七步:这个文档中会有如下图所示的一段代码,如下,接下来我分析文档里的代码,和我自己安装过程中的一些问题,和我的安装代码
第八步:
文档安装代码:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysqlshell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第九步:
文档安装代码中每一行的意思:
shell> groupadd mysql //在/etc/group文件中添加mysql的记录
shell> useradd -r -g mysql mysql
shell> cd /usr/local //打开/usr/local目录
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz // /path/to/mysql-VERSION-OS.tar.gz指下载的文件的具体路径我的是 /home/liubei/下载/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
//这个步骤解压下载的mysql压缩文件到/usr/local文件夹下
shell> ln -s full-path-to-mysql-VERSION-OS mysql //为很长的文件夹取个别名并创建链接
shell> cd mysql //打开mysql文件夹
shell> chown -R mysql . //注意后面有个点,意思是把文件夹的own权限赋予mysql用户shell> chgrp -R mysql . //后面也有点,意思是把文件夹的grp权限赋予mysql用户,文件夹的权限可以通过
shell>ls -la查看
shell> scripts/mysql_install_db --user=mysql //通过mysql用户安装mysql
shell> chown -R root . //把文件夹的own权限赋予root
shell> chown -R mysql data //把data文件夹的own权限赋予mysql
shell> bin/mysqld_safe --user=mysql &//启动mysql
shell> cp support-files/mysql.server /etc/init.d/mysql.server //复制mysql.server文件到/etc/init.d目录下
第十步:因为我是新装的ubuntu系统,所以在安装过程中遇到很多问题,按教程中的不能完全成功,接下来贴出我自己的安装命令:
第十步安装命令:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> sudo scripts/mysql_install_db --user=mysql
这一步之后sudo gedit my.cnf
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第十一步:
各行中的命令的意思:
shell> groupadd mysqlshell> useradd -r -g mysql mysqlshell> cd /usr/local
//实际在做解压到/usr/local目录下是需要管理员权限的如下:
shell>sudo tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> sudo ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
//给文件夹赋予权限的命令都需要管理员权限shell> sudo chown -R mysql .
shell> sudo chgrp -R mysql .
shell> sudo scripts/mysql_install_db --user=mysql
//新系统在执行上面这行代码时会报错,按照报错中的提示安装所需插件即可
//这一步之后sudo gedit my.cnf ,修改mysql的启动信息,如下图所示
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql/data &
//上面这步总是报错后在后面加上 --datadir参数后成功启动mysql
//这一步进行后即可成功启动mysql,输入
shell>mysql
如果出现如下图所示,即启动mysql成功
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第十二步:
另外:关闭mysql的命令
shell>sudo service mysqld stop
然后启动mysql的命令
shell> sudo service mysqld start
如何在linux上安装mysql 5.6
第一步:进入mysql官方网站
第二步:选择MySQL Community Server(GPL)
第三步:进入下载页面,会看到Mysql Community Server 5.6.17选择自己的linux版本,我的是ubuntu14.04,选择Linux-Generic,把页面往下翻,选择Linux-Generic(glibc 2.5)(x86,64-bit), Compressed TAR Archive下载
第四步:点击下载之后会出现oracle的登陆界面,注册用户后登陆oracle账号,即可免费下载mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
第五步:下载之后文件在/home/liubei/下载 目录下,打开命令行,对文件夹进行解压,给这么长的文件夹起个别名,找到mysql提供的官方安装指导,具体代码:
第五步代码:
shell>cd /usr/local
shell>sudo tar zxvf /home/liubei/下载/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
shell>sudo ln -s mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz mysql
shell>cd mysql
shell>ls
第六步:通过上面的操作你就能看到mysql文件夹里面的INSTALL-BINARY文件,用gedit将其打开,代码如下
第六步代码:
shell>gedit INSTALL-BINARY
第七步:这个文档中会有如下图所示的一段代码,如下,接下来我分析文档里的代码,和我自己安装过程中的一些问题,和我的安装代码
第八步:
文档安装代码:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysqlshell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第九步:
文档安装代码中每一行的意思:
shell> groupadd mysql //在/etc/group文件中添加mysql的记录
shell> useradd -r -g mysql mysql
shell> cd /usr/local //打开/usr/local目录
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz // /path/to/mysql-VERSION-OS.tar.gz指下载的文件的具体路径我的是 /home/liubei/下载/mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
//这个步骤解压下载的mysql压缩文件到/usr/local文件夹下
shell> ln -s full-path-to-mysql-VERSION-OS mysql //为很长的文件夹取个别名并创建链接
shell> cd mysql //打开mysql文件夹
shell> chown -R mysql . //注意后面有个点,意思是把文件夹的own权限赋予mysql用户shell> chgrp -R mysql . //后面也有点,意思是把文件夹的grp权限赋予mysql用户,文件夹的权限可以通过
shell>ls -la查看
shell> scripts/mysql_install_db --user=mysql //通过mysql用户安装mysql
shell> chown -R root . //把文件夹的own权限赋予root
shell> chown -R mysql data //把data文件夹的own权限赋予mysql
shell> bin/mysqld_safe --user=mysql &//启动mysql
shell> cp support-files/mysql.server /etc/init.d/mysql.server //复制mysql.server文件到/etc/init.d目录下
第十步:因为我是新装的ubuntu系统,所以在安装过程中遇到很多问题,按教程中的不能完全成功,接下来贴出我自己的安装命令:
第十步安装命令:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> sudo scripts/mysql_install_db --user=mysql
这一步之后sudo gedit my.cnf
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第十一步:
各行中的命令的意思:
shell> groupadd mysqlshell> useradd -r -g mysql mysqlshell> cd /usr/local
//实际在做解压到/usr/local目录下是需要管理员权限的如下:
shell>sudo tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> sudo ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
//给文件夹赋予权限的命令都需要管理员权限shell> sudo chown -R mysql .
shell> sudo chgrp -R mysql .
shell> sudo scripts/mysql_install_db --user=mysql
//新系统在执行上面这行代码时会报错,按照报错中的提示安装所需插件即可
//这一步之后sudo gedit my.cnf ,修改mysql的启动信息,如下图所示
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql/data &
//上面这步总是报错后在后面加上 --datadir参数后成功启动mysql
//这一步进行后即可成功启动mysql,输入
shell>mysql
如果出现如下图所示,即启动mysql成功
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
第十二步:
另外:关闭mysql的命令
shell>sudo service mysqld stop
然后启动mysql的命令
shell> sudo service mysqld start
CentOS系统中安装配置Apache+PHP+MySQL环境
首先下载软件;
[root@localhost ]# wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz
--00:47:30-- http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz
Resolving apache.mirror.phpchina.com... 221.194.139.225
Connecting to apache.mirror.phpchina.com|221.194.139.225|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6396996 (6.1M) [application/x-gzip]
Saving to: `httpd-2.2.9.tar.gz.1'
0% [ ] 36,300 41.3K/s
[root@localhost ]tar zxvf httpd-2.2.9.tar.gz
接着进入[root@localhost ~]cd httpd-2.2.9下边编译apache[root@localhost httpd-2.2.9]./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf下边编译这个需要一点时间的。
下边简单说说编译的这些的意思,--prefix=//usr/local/mysql/apache 指定把apahce安装到//usr/local/mysql/apache目录中;--enable-cgi 支持CGI;--with-config-file-path=//usr/local/mysql/apache/conf 指定把apache的配制文件放在//usr/local/mysql/apache/conf中;比如httpd.conf配制文件就在这个目录中;--enable-track-vars 为启动cookie的get/post等追踪功能差不多编译好了。
会提示apache安装成功,[root@localhost ]make; make install //接着输入编译这个命令很简单就是make;make install即可!接着输入开启apache服务。[root@localhost ] server httpd restart到此处apache安装成功删除默认页rm -f /usr/local/apache/conf.d/welcome.conf即可看到可爱的403错误!
2,安装CentOS配置php;
[root@localhost ~]# tar zxvf php-5.2.6.tar.gz //解压php文件
[root@localhost ~]# cd php-5.2.6 //进去php安装目录
[root@localhost php-5.2.6]#]#./configure --prefix=//usr/local/mysql/php
--with-mysql=//usr/local/mysql/mysql --with-apxs2=//usr/local/mysql/apache/bin/apxs
--enable-track-vars --enable-force-cgi-redirect
--with-config-file-path=//usr/local/mysql/php/etc //编译php
CentOS配置安装:
[root@localhost php-5.2.6]#make
[root@localhost php-5.2.6]#make install
复制php.ini-dist为php.ini,并存放到/usr/local/php目录下![root@localhost php-5.2.6]# cp php.ini-dist /usr/local/php/php.ini编辑/usr/local/php/php.ini文件,找到如下的一行;default_charset = "iso-8859-1"在这行下面加一行default_charset = "gb2312//下边组合apache+php找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。
AddType application/x-httpd-php .php找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php DirectoryIndex index.html index.html.var index.php 让后我们顺手下个测试php的页面吧编辑vi /usr/www/html/test.php写入echo /usr/www/html/test.php即可,到此处php+apache安装成功
3,安装CentOS配置mysql;
1]解压
[root@localhost root]# cd /usr/local/mysql/software
[root@localhost software]# ls
mysql-4.0.16.tar.gz
[root@localhost software]#tar zxvf mysql-4.0.16.tar.gz
2]编译和安装:在这个地方值得注意的是,我们要把mysql-4.0.16安装到我们指定的目录中,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在//usr/local/mysql 目录里。所以在这里,我们就要把CentOS配置mysql-4.0.16也安装到//usr/local/mysql/mysql这个目录中;
[root@localhost software]#cd
[root@localhost software]# cd mysql-4.0.16
[root@localhost mysql-4.0.16]#
./configure --prefix=//usr/local/mysql/mysql --with-mysqld-user=beinan
--with-extra-charsets=all --with-unix-socket-path=//usr/local/mysql/mysql/var/mysql.sock
[注]关于configure的选项的一点说明:
--prefix=//usr/local/mysql/mysql 把mysql-4.0.16指定安装到//usr/local/mysql/mysql目录中;--with-extra-charsets=all 对多语言的支持;--with-unix-socket-path=//usr/local/mysql/mysql/var/mysql.sock 这个是指定mysql服务器启动后,
联机套接字文件所处的位置和文件名,也就是说,如果CentOS配置mysql服务器成功启动后,就能在//usr/local/mysql/mysql/var目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。
--with-mysqld-user=beinan 这个是让mysql服务器也能让系统中普通用户beinan也能启动mysql服务器。当然要活学活用了你也可以把beinan换成你的系统中已经存在的普通用户,比如您的系统中已经存在sir这个用户,那就把beinan替换成sir就行了。
用普通用户来启动CentOS配置mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
[root@localhost mysql-4.0.16]#make
[root@localhost mysql-4.0.16]#make install 这样就安装完了
3]配制mysql:安装只是第一步,我们还要对mysql进行相应的配制;
一般的情况下CentOS配置mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。让mysql服务器启动时能找到它。
我们CentOS配置安装好mysql后,配制文件应该在//usr/local/mysql/mysql/share/mysql目录中,CentOS配置文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;
进入/usr/local/mysql这个目录,看一下是不是已经安装好了呢??
[root@localhost mysql-4.0.16]# cd //usr/local/mysql/mysql/
[root@localhost mysql]# ls
bin include info lib libexec man mysql-test share sql-bench
我们把//usr/local/mysql/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。[root@localhost mysql]# cp //usr/local/mysql/mysql/share/mysql/my-medium.cnf /etc/my.cnf
做了这些工作以后,还得创造MySQL授权表,否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。mysql的命令都安装到了//usr/local/mysql/mysql/bin这个目录中。[root@localhost mysql]#//usr/local/mysql/mysql/bin/mysql_install_db
运行mysql_install_db命令过后,我们查看//usr/local/mysql/mysql就会发现,有个var的目录。这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,就在在//usr/local/mysql/mysql/var目录中有linuxsir的目录。这回应该明白了吧。
4]启动CentOS配置mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。
CentOS配置mysql服务器启动,应该是//usr/local/mysql/mysql/share/mysql目录中的 mysql.server启动方法是:[root@localhost mysql]# //usr/local/mysql/mysql/share/mysql/mysql.server start 如果不能启动请运行/usr/local/mysql/bin/mysqld_safe --user=root 就能够启动了!!
接着输入/usr/local/mysql/mysql/share/mysql/mysql.server start即可成功启动好了,
我们把密码设置为123456 /usr/local/mysql/bin/mysqladmin -u root password 123456如果没有返回错误说明正确了。接着输入/usr/local/mysql/bin/mysql -u root -p就可以管理mysql了。
怎样在Linux环境下安装部署MySQL数据库系统
在Linux安装软件需要预先做好如下一些准备:准备好Linux操作系统如:CentOS7。配置好yum源。
完成上述准备后,就可以动手安装MySQL数据库了。主要安装步骤如下:
1. 禁用selinux
setenforce 0
2. 上传安装文件到Linux
3.解压rpm包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
4.安装软件
yum install mysql-community-{libs,client,common,server}-*.rpm
5.启动mysql数据库初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中录入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用当前密码认证策略,可以使用简单密码(生产环境不适用)
validate_password=0
7.重启mysql服务
systemctl restart mysqld
8.找临时登录密码
grep -i "temporary password" /var/log/mysqld.log
9.连接MySQL数据库
mysql -uroot -p 输入临时密码
10.修改root用户登录密码为简单密码(生产环境不适用)
alter user root@localhost identified by '';
11.配置MYSQL_PS1环境变量
修改家目录下:.bash_profile文件,添加
export MYSQL_PS1="\u@\h[\d]>"
12.使新环境变量生效
source /root/.bash_profile
13.重新连接mysql验证
mysql -uroot -p
除了上述安装方式以外,可能在公司中会遇到安装指定版本的需求,那么如何安装指定版本的MySQL数据呢?这时我们可以采用下载指定版本安装包进行安装的方式,主要步骤如下,假设CentOS7 linux最小安装,已经配置好yum。首先检查是否安装numactl包
rpm -qa|grep numactl
yum install numactl-libs-* # 如果没有安装需要安装。检查是否安装lio包
rpm -qa|grep lio
yum install lio-* # 如果没有安装需要安装
具体安装步骤如下:
* 禁用selinux
setenforce 0
* 上传安装文件到Linux
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
* 创建mysql用户组和用户
groupadd -g 27 -r mysql
#-r创建系统账户,-M 不创建用户家目录 -N 不创建和用户名一样的用户组
useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql
id mysql
* 上传安装包到root家目录
* 解压二进制文件到/usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
* 解压目录改名为mysql
cd /usr/local
ls -l
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
* 环境变量中添加mysql/bin目录
vi /root/.bash_profile
修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
添加 export MYSQL_PS1="\u@\h[\d]>"
source /root/.bash_profile
* 创建/usr/local/mysql/etc/my.cnf选项文件 (也可以使用默认的/etc/my.cnf选项文件)
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/mysql-files
* 编辑选项文件my.cnf填写默认选项
vi /usr/local/mysql/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/data/mysqld.pid
secure_file_priv=/usr/local/mysql/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Explicit-defaults-for-timestamp
character-set-server=utf8
[mysql]
socket=/usr/local/mysql/data/mysql.sock
* 初始化数据目录
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
* 初始化数据库
cd /usr/local/mysql
bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize
* 使用systemd管理mysql
例如:systemctl {start|stop|restart|status} mysqld
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service
# 添加以下内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
以上内容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.
默认:LimitNOFILE = 5000,如果连接数(max_connection)需要调大,可以将LimitNOFILE 设置为最大65535
* 创建mysql.conf文件
cd /usr/lib/tmpfiles.d
#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.
cd /usr/lib/tmpfiles.d
touch mysql.conf
chmod 644 mysql.conf
* mysql.conf添加内容
vi mysql.conf
添加以下语句:
d /usr/local/mysql/data 0750 mysql mysql -
* 使新添加的mysqld服务开机启动
systemctl enable mysqld.service
* 手动启动mysqld
systemctl start mysqld
systemctl status mysqld
* 获得mysql临时登录密码
cat /usr/local/mysql/data/mysqld.err | grep "temporary password"
* 客户端登录连接mysql服务器
mysql -uroot -p
输入临时密码
* 修改MySQL用户root@localhost密码
mysql> alter user root@localhost identified by ''; #此处为了方便设置为空密码
* 测试新密码连接MySQL服务
mysql -uroot -p
至此,我们就完成了在Linux环境下安装MySQL的任务。通过这两种方式我们可以体会到在Linux环境下安装软件的基本思路及方法。