MYSQL数据库安装环境搭建

一、MYSQL数据库的安装

1.1 linux下的单机安装(rpm)

#查看是否系统自带有安装
rpm -qa | grep mysql
# 卸载 
rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64
#安装依赖驱动
yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum  update libstdc++-4.4.7-4.el6.x86_64
#yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
#yum -y install libncurses.so.5 libtinfo.so.5
#yum  update libstdc++-4.4.7-4.el6.x86_64
#下载解压包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.22-1.el6.i686.rpm-bundle.tar
#新建/usr/local/mysql  并解压到这个文件夹 
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql
# 进入 /usr/local/mysql 解压目录下
# 安装 server 和 client 端
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
#将mysql加到系统服务中并设置开机启动
# 1.加入到系统服务:
chkconfig --add mysql
#2.自动启动:
chkconfig mysql on
#启动 mysql服务
service mysql start
#查看第一次的随机安装密码 : xTJJv1QhYO8_B2D9
cat /root/.mysql_secret
#登陆进入服务
mysql -uroot -p  #输入/root/.mysql_secret下的随机密码
#修改密码:
mysql> SET PASSWORD = PASSWORD('123456');
#mysql> update user set password=password('123456') where user='root';
#默认情况下mysql为安全起见,不支持远程登录mysql,需要设置远程登录mysql的权限
#登录mysql后输入如下命令:
mysql> grant all privileges on *.* to 'root' @'%' identified by 'root';
mysql> flush privileges;
#退出mysql以后
mysql> exit
#需要开放Linux的对外访问的端口3306,外接才能访问该端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
#将修改永久保存到防火墙中
/etc/rc.d/init.d/iptables save

错误解决

#1.rpm安装客户端与服务器端的时候确实依赖
yum install libgcc
yum install libgcc_s.so.1

yum install libstdc++
yum install libstdc+±4.8.5-36.e17.i686
#2.登录mysql -uroot -p的时候报异常
#ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
#指定连接格式: mysql -h主机IP -P端口号 -u用户名  -p密码  登录
mysql -h127.0.0.1 -P3306  -uroot -p
#3.报错误 1045: Access denied for user 'root'@'localhost' (using password: YES)
#错误原因,为保证安全性,不能用root用户远程登录
#建立新用户并授权,用其他用户即可远程登录
CREATE USER 'likang'@'%' IDENTIFIED BY '123456';
grant all privileges on *.* to 'likang' @'%' identified by '123456';

mysq建立用户:

#1、创建用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
#username:用户名
#host:    可以访问的主机地址,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
#password:密码
#举例
CREATE USER 'liuxin'@'localhost' IDENTIFIED BY '123456'; #只能本地访问
CREATE USER 'liuxin'@'192.168.1.222' IDENDIFIED BY '123456'; #192.168.1.222IP访问
CREATE USER 'liuxin'@'%' IDENTIFIED BY '123456'; #任意访问
CREATE USER 'liuxin'@'%' IDENTIFIED BY '';
CREATE USER 'liuxin'@'%';

#2、用户授权:
GRANT privileges ON db.table TO 'username'@'host'
#privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
#db:		 从数据库名
#table:	 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
#举例
GRANT SELECT, UPDATE ON test.user_info TO 'liuxin'@'%';
GRANT ALL ON *.* TO 'liuxin'@'%';
GRANT ALL ON test.* TO 'liuxin'@'%';

#3、设置更新密码
#更新其他用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
#更新自己的密码
SET PASSWORD = PASSWORD("newpassword");

#4、撤销用户权限
REVOKE privilege ON db.table FROM 'username'@'host';
#注意:
#(1)假如在给用户'liuxin'@'%'授权的时候是这样:GRANT SELECT ON test.user TO 'liuxin'@'%',
#   则在使用REVOKE SELECT ON *.* FROM 'liuxin'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。
#(2)如果授权使用的是GRANT SELECT ON *.* TO 'liuxin'@'%',则REVOKE SELECT ON test.user FROM 'liuxin'@'%';
#命令也不能撤销该用户对test数据库中user表的SELECT权限。
#例如 
REVOKE UPDATE ON *.* FROM 'liuxin'@'%';

#5、删除用户
DROP USER 'username'@'host';

1.2 linux下的单机安装(tar解压)

#检查系统是否已安装
 rpm -qa|grep mysql
#删除系统自带安装
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
#下载文件到 opt/software目录
wget http://downloads.mysql.com/archives/get/file/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
#在/usr/local下新建文件mysql,并把压缩包解压到mysql
mkdir mysql  #/usr/local/mysql
tar -zxvf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql/
#解压完成后,需要设置一系列配置
#1. 添加mysql用户组和mysql用户,用于设置mysql安装目录文件所有者和所属组
#1.1任意目录下添加用户组及用户(此时添加的用户所有权为root)
groupadd mysql
useradd -r -g mysql mysql  # -g -r 用户组 用户
#1.2 把添加的用户,所有权更改为 mysql,
#进入mysql的解压目录,更改
cd user/local/mysql/mysql-5.6.27-linux-glibc2.5-x86_64/
chown -R mysql .
chgrp -R mysql .

在这里插入图片描述在这里插入图片描述

#执行mysql_install_db脚本
[root@toot mysql-5.6.27-linux-glibc2.5-x86_64]# scripts/mysql_install_db --user=mysql

在这里插入图片描述

[root@toot mysql-5.6.27-linux-glibc2.5-x86_64]# chown -R root .    # 权限改为root用户
[root@toot mysql-5.6.27-linux-glibc2.5-x86_64]# chown -R mysql data  #data目录权限改为mysql
#复制support-files目录下的配置文件到 /etc目录
[root@toot mysql-5.6.27-linux-glibc2.5-x86_64]# cd support-files/
[root@toot support-files]# cp my-default.cnf /etc/my.cnf
#查看/etc/my.cnf 并修改basedir配置项
vi /etc/my.cnf
basedir =/usr/local/mysql/mysql-5.6.27-linux-glibc2.5-x86_64

在这里插入图片描述
在这里插入图片描述

#mysql是否能启动
[root@toot support-files]# service mysqld start
#mysql是否安装成功,运行bin/mysql文件 , 注意,此时未设置用户名及密码,此方式可以登陆
[root@toot bin]# ./mysql
mysql>  # 登陆成功,安装成功
mysql> exit #退出
#设置用户名和密码,需要进入bin目录,运行mysqladmin命令
[root@toot bin]# ./mysqladmin -u root password
New password: 
Confirm new password:     #确认后,账户名及密码设置成功
# 注意此时./mysql 不能再登陆了
[root@toot bin]# ./mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@toot bin]# ./mysql -u root -p
Enter password:
mysql>   # 登陆成功

# 为了每次避免输入全路径,修改/etc/profile 配置环境变量
#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql/mysql-5.6.27-linux-glibc2.5-x86_64
export PATH=$PATH:$MYSQL_HOME/bin

#新建用户,关闭防火墙,即可远程连接

1.3 Docker安装

1.4 windows下的安装

二、MYSQL数据库的主从复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值