- Linux安装Mysql
- 卸载系统自带的Mariadb
rpm -qa|grep mariadb //查询出已安装的mariadb
rpm -e --nodeps 文件名 //一一卸载
- 删除etc目录下的my.cnf文件
rm /etc/my.cnf
- 执行以下命令来创建mysql用户组
groupadd mysql
- 执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
useradd -g mysql mysql
- 将二进制压缩包放到/usr/local/目录下。
- 解压安装包
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
- 将解压好的文件夹重命名为mysql
mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
- 删除安装包
rm -f mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
- 新建并配置文件/etc/my.cnf
vim /etc/my.cnf
输入I,进入插入模式
右键黏贴如下内容:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] skip-name-resolve #设置3306端口 port = 3306 socket=/var/lib/mysql/mysql.sock # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M |
按ESC键,输入:x 即保存并退出
- 进入安装mysql软件目录
cd /usr/local/mysql
chown -R mysql:mysql ./ 修改当前目录拥有者为mysql用户
./scripts/mysql_install_db --user=mysql 安装数据库
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper 出现报错,缺少Perl包。 解决方法: |
继续执行./scripts/mysql_install_db --user=mysql
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 出现报错,缺少libaio库文件。 解决方法: |
继续执行./scripts/mysql_install_db --user=mysql
chown -R mysql:mysql data 修改当前data目录拥有者为mysql用户
到此数据库安装完毕!
- 配置MySQL
- 授予my.cnf的最大权限。
chown 777 /etc/my.cnf
- 添加开机启动mysql服务
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
- 增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
- 将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的启动和停止。
- 若是还需随linux系统启动而自动启动,则只需设置如下:
chkconfig mysqld on
- 启动msql(停止mysqld服务:service mysqld stop)
service mysqld start
- 将mysql的bin目录加入PATH环境变量,编辑/etc/profile文件
vi /etc/profile
在文件最后添加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
执行下面的命令使所做的更改生效:
. /etc/profile
- 以root账户登陆mysql,默认是没有密码
mysql -u root -p
- 设置root账户密码 注意下面的you password改成你的要修改的密码
use mysql
update user set password=password('123456') where user='root' and host='localhost';
- 设置远程主机登录(我用的是Navicat)注意下面的your username 和 your password改成你需要设置的用户和密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
- 刷新缓存
flush privileges;
- 创建数据库、用户、授权
1、创建用户:
GRANT USAGE ON *.* TO 'csgbx'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
2、创建数据库:
create database csgbxDB;
3、用户授权:
grant all privileges on csgbxDB.* to 'csgbx'@'%' identified by '123456';// 只给csgbxDB授权
grant all privileges on *.* to 'csgbx'@'%' identified by '123456';// 给所有授权,基于csgbxDB.sql原因,选择这个
4、刷新系统权限表
flush privileges;
PS:远程登录mysql
mysql -h120.78.50.99 -uroot -p123456
- 远程登录mysql(使用Navicat或者SQLyog)
mysql -h120.78.50.99 -uroot -p123456
RROR 2003 (HY000): Can't connect to MySQL server on '120.78.50.99' (10060) 出现报错,检查如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;
service iptables stop【centOS6】 systemctl stop firewalld【centOS7】
阿里云 -> 控制台-> 实例 -> 更多 -> 安全组配置 -> 配置规则 -> 添加安全组规则 开启阿里云服务器端口https://jingyan.baidu.com/article/03b2f78c31bdea5ea237ae88.html |
测试连接是否成功!