分享一下,我安装mysql数据的步骤,在安装mysql之前,要先检查系统自带的mysql有没有卸载干净,如果没有,需要卸载干净,要不安装会报错,处理起来,会比较麻烦。
1、先执行rpm -qa|grep -i mysql查看是否已经安装过mysql
rpm -qa|grep -i mysql
2、如果已经安装了mysql库文件,应该先卸载,不然可能会出现覆盖错误。注意:卸载时使用–nodeps选项,忽略依赖关系。
rpm -e mysql-libs-* –nodeps
yum -y remove mysql-libs*
rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686
以安装mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz为例
使用winscp工具将安装包放入linux系统中,
使用root管理员登录,如果当前不是root管理员,使用su root命令切换
解压安装包,使用下面的命令解压
[root@test tools]# tar -zxvf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
将该解压后的文件移动到本地软件安装目录
[root@test tools]# mv mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql
添加mysql用户组和mysql用户
[root@test ~]# groupadd mysql
[root@test ~]# useradd -r -g mysql mysql
检查用户是否已经存在
[root@test ~]# groups mysql
若显示mysql : mysql表示在mysql组下已经有mysql用户;若显示groups: mysql: No such user,表示该用户还不存在
将/usr/local/mysql目录下归属到mysql用户及mysql组
[root@test ~]# chown -R mysql:mysql /usr/local/mysql
下面是mysql的安装步骤了,前面的只是准备工作
回到根目录
[root@test ~]# cd /
启动安装
[root@test /]# ./usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –defaults-file=’path/to/my.cnf’ (指定加载配置文件位置)
进入mysql配置文件目录
[root@test /]# cd /usr/local/mysql/support-files
[root@test support-files]# cp my-default.cnf /etc/my.cnf
复制mysql服务启动配置文件到/etc/下并重命名为my.cnf,/etc/my.cnf如存在则输入y和回车覆盖
配置文件,如果没有的话,mysql所有的参数将会是默认值,可以根据实际需要配置参数:
vim my.cnf (如果没有就新建)
[client]
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock
[mysql]
default-character-set=utf8
[mysqld]
socket=/usr/local/mysql/tmp/mysql.sock
tmpdir=/usr/local/mysql/tmp/ (安装目录)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
symbolic-links=0
character_set_server=utf8
[mysqld_safe]
default-character-set=utf8
log-error=/usr/local/mysql/logs/mysqld.log
pid-file=/usr/local/mysql/run/mysqld/mysqld.pid
授权: chmod 644 my.cnf
复制启动脚本到资源目录
[root@test support-files]# cp mysql.server /etc/init.d/mysql
将mysql加入到可控制启动的服务的文件夹内,并命名mysql,即service可控制的服务名,至此可用service mysql start控制启动mysql
/etc/init.d 是/etc/rc.d/init.d的链接,在/etc/init.d添加一个文件会同步在/etc/rc.d/init.d下添加一个相同文件
#如果没有rc.d直接输入/etc/init.d/mysqld即可
3、增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
[root@test ~]# vim /etc/init.d/mysql
进入后按键盘i进行编辑,修改如下俩值
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
保存提出
[root@test ~]# chkconfig –add mysql
让mysql服务加入到开机启动指令管理的服务列表中
检查mysqld服务是否已经生效
[root@test ~]#chkconfig –list mysqld
命令输出类似下面的结果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止。
开机自启动mysql服务
[root@test ~]# chkconfig mysql on
[root@test ~]# vi /etc/profile
配置环境变量,这个文件是每个用户登录时都会运行的环境变量设置
在最下面添加下面两个值
export MYSQL_HOME=”/usr/local/mysql”
export PATH=”$PATH:$MYSQL_HOME/bin”
保存并退出
让修改的profile文件立即生效,输入一下命令:
[root@test ~]# ./etc/profile
或者:
source /etc/profile
启用mysql
[root@test ~]# service mysql start
或者
[root@test ~]# systemctl start mysql
此时mysql已经安装成功了,接下来是要配置数据库密码,防火墙例外
设置mysql的root用户密码,此处设成123456,此root用户与linux不是一个
[root@test ~]# cd /usr/local/mysql/bin/
[root@test ~]# ./mysqladmin -u root password ‘123456’
用刚刚设置的mysql的root用户密码登陆mysql,以root账户登陆mysql,默认是没有密码(直接回车)
[root@test ~]# mysql -u root -p
设置root账户密码 注意下面的you password改成你的要修改的密码
use mysql; update user set password=password(‘you password’) where user=’root’and host=’localhost’;
登录mysql以后,要允许使用用户名root密码123456从任何主机连接到mysql服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
刷新权限
mysql>FLUSH PRIVILEGES;
mysql>exit;
到现在已经完成了 本地可以登陆,但是其他的主机不能远程连接,因为有防火墙,把防火墙关了是不现实的,所以需要添加防火墙例外,添加防火墙例外也很简单,只需要以下四步:
第1步:使用Xshell登录到centos系统,使用root用户登录
输入一下命令
/sbin/iptables -I INPUT -p tcp –dport 3306 -j ACCEPT
自己想开放什么端口,就直接在命令里写上什么端口,一般web网站默认为80端口,tomcat为8080,mysql数据库为3306,具体这些端口号都是可以在自己的软件中修改的。
第2步:使用如下命令可查看刚刚添加到防火墙例外的端口信息。
/etc/init.d/iptables startus
第3步:这时不算已经完成,必须再执行一个命令并确定。
/etc/rc.d/init.d/iptables save
第4步:执行命令并确定,当提示有四个OK时就说明防火墙启动完毕,这时在本文第1步所添加的例外端口号将全部都生效。
service iptables restart
需要注意的地方:很多的Linux系统会自带mysql的各个插件,所以在安装之前 ,一定要先卸载干净mysql,然后再安装。
版权声明:本文为海的航行原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。