linux安装mysql真的是走了很多弯路,各种错误,这篇就讲讲如何安装msyql.
一、下载mysql的安装包
官网:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
选择合适自己系统的版本,centos安装选择 Linux-Generic 这个版本的,然后根据自己系统,选择32位还是64位下载即可。
二、安装到Linux
1.检查Linux环境。
Centos7将默认安装了Mariadb。MariaDB数据库管理系统是MySQL的一个分支。如果不卸载,可能会造成冲突,为了省事,还是干脆卸载了。
rpm -qa|grep mariadb // 查询出来已安装的mariadb
rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件,这一步很重要
2.创建mysql的文件夹,并将下载好的安装包 .tar.gz 上传至该文件夹中
本人是将mysql放在了 /usr/mysql下
然后解压文件到当前目录下
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.43-linux-glibc2.12-x86_64 mysql 解压之后可以将解压后的文件夹目录改个名字,以便阅读使用
三、配置注册数据库相关信息
1、执行以下命令来创建mysql用户组
groupadd mysql
2、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
useradd -g mysql mysql
3、修改目录权限
chown -R mysql:mysql /usr/mysql
4、修改数据库配置
将Linux目录切换到 /etc 目录下找到 my.cnf 文件
vim /etc/my.cnf
将原来的内容全部删除,然后重新写入
#客户端编码集
[mysql]
default-character-set=utf8
[mysqld]
#设置端口号
port = 3306
#设置服务端的编码集
character-set-server=utf8
lower_case_table_names=1
#设置mysql的目录地址
basedir=/usr/mysql
#设置mysql数据存放的目录地址
datadir=/usr/mysql/data
#设置最大连接数
max_connections=200
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
5.安装数据库
将目录切换至 /usr/mysql/mysql_5.6.40_x86_64/scripts 目录下,并修改执行以下命令:
./mysql_install_db --user=mysql --basedir=/usr/mysql/mysql_5.6.40_x86_64/
--datadir=/usr/mysql/mysql_5.6.40_x86_64/data/
注意:若执行以上最后一个命令出现以下问题:
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:Data::Dumper
解决方法 :安装autoconf库
命令: yum -y install autoconf
然后在执行安装命令即可。
到此,数据库安装完毕。
四、配置mysql 与 Linux相关的便捷配置
1、设置开机自启动mysql服务脚本
cp /usr/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
然后切换目录到 /etc/rc.d/init.d
授权
chmod 777 /etc/rc.d/init.d/mysqld
2、将mysqld服务加入到系统服务
chkconfig --add mysqld
检查mysqld服务是否已经生效
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的启动和停止
3、将mysql的bin目录加入PATH环境变量
vim ~/.bash_profile
在文件最后添加如下信息:
PATH=/usr/mysql/bin:$PATH:$HOME/bin
export PATH
修改后保存并退出,并执行以下命令,立马重启生效
source ~/.bash_profile
4、防火墙设置
首先检查防火墙状态
systemctl status firewalld.service
添加3306 端口到防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl stopfirewalld.service
systemctl start firewalld.service
五、启动mysql与设置远程连接
1、启动与关闭mysql
启动mysql
service mysqld start
关闭mysql
service mysqld stop
2、修改密码以及设置远程连接
mysql -uroot -p
注意:mysql默认是没有密码的,敲回车直接进去即可。
设置root账户密码为root(也可以修改成你要的密码)
use mysql; update user set password=password('root') where user='root' and host='localhost';
设置远程主机登录,注意下面的username 和 password改成你需要设置的用户和密码
GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY "password";
转至:https://blog.csdn.net/sizhezhongnian/article/details/81163956