CentOS下安装mysql,即配置SSH远程连接
版本:CentOS6.5,mysql-5.6.14
1> 检查是否有安装
-
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql -
有的话通过下面的命令来卸载掉
rpm -e mysql_libs //普通删除模式rpm -e --nodeps mysql_libs // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
2> 进行安装
-
安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel -
将下载的文件MySQL 5.6.14 解压至/usr/local 目录下
tar xvf mysql-5.6.14.tar.gz -
并进入解压目录下/usr/local/mysql-5.6.14
cd mysql-5.6.14 -
编译安装[源码=》编译]
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -
编译并安装(过程漫长)
make make install 或者 make && make install
3> 配置MySQL
-
设置权限(使用专门的用户和组来管理mysql)
-
使用下面的命令查看是否有mysql用户及用户组
cat /etc/passwd #查看用户列表 cat /etc/group #查看用户组列表 -
如果没有就创建
groupadd mysql useradd -g mysql mysql -
修改/usr/local/mysql权限(安装 mysql 后会自动在 /usr/local 下创建 mysql 文件夹)-- 使mysql的所有者为mysql用户和mysql组
chown -R mysql:mysql /usr/local/mysql # -R为递归 -
初始化配置,进入安装路径(在执行下面的指令),执行初始化配置脚本,创建系统自带的数据库和表
cd /usr/local/mysql #进入mysql文件下执行以下脚本 scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql [这是一条指令]注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
-
修改名称,防止干扰(如果有my.cnf 这个文件时)
mv /etc/my.cnf /etc/my.cnf.bak注:在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
-
查看是否存在文件
ls -l /etc/m -
添加服务,拷贝服务脚本到init.d目录
[注意在 /usr/local/mysql 下执行 以下三条命令]
cp support-files/mysql.server /etc/init.d/mysql -
并设置 mysql 自启动
chkconfig mysql on -
启动mysql
service mysql start --启动MySQL -
启动成功后可以查看3306端口(是否处于监听状态)进行判断
netstat -anp | more -
执行下面的命令修改root密码
cd /usr/local/mysql/bin ./mysql -uroot #连接到 mysql 服务 mysql> SET PASSWORD = PASSWORD('root'); #设置密码为rootquit #退出mysql(sql脚本)注:由于没有配置环境变量,所以要进入到mysql的bin目录下,才能连接到mysql
-
设置密码后连接时需要密码才能正确登录连接
./mysql -uroot -proot 或 ./mysql -uroot -p #再进行输入密码以上便是mysql的安装与配置过程
4> 测试mysql
-
查询数据库
show databases; -
创建一个数据库,创建完成后可以查询如上
create database zsg_test1; -
使用 zsg_test1 数据库
use zsg_test1; -
创建表
create table user( id int, name varchar(20), age int, sex int, primary key(id) ); -
添加数据
insert into user values(1,"zhangsan",25,1); insert into user values(2,"Lucy",20,0); -
查询表中的数据
select * from user;
5> 配置mysql的环境变量
- 打开配置文件
vim /etc/profile #打开配置文件,添加配置
-
修改配置文件如下(部分代码)
# set jdk JAVA_HOME=/usr/local/java/jdk1.8.0_231 JRE_HOME=/usr/local/java/jdk1.8.0_231/jre CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib # set mysql MYSQL_HOME=/usr/local/mysql #设置类似jdk的家目录 PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH #添加path环境变量($MYSQL_HOME/bin) export PATH JAVA_HOME CLASSPATH注:添加path可以通过冒号(:)追加
-
刷新配置文件,使立即生效
source /etc/profile #刷新环境变量,使刚刚的配置生效 -
在任意目录下(除/usr/local/mysql 目录下外)连接mysql
mysql -u root -p root
至此大功告成!
6> 设置mysql远程登录
-
开放端口(或者关闭防火墙)
vi /etc/sysconfig/iptables # 配置端口文件 # 添加mysql的端口(mysql默认端口为3306) -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT #赋值22端口语句,改为3306,如下 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -
重启防火墙
service iptables start -
连接服务器后,操作mysql系统数据库
mysql -u root -p #连接到数据库服务
use mysql #切换到mysql系统数据库
- 查询用户表命令
select User,authentication_string,Host from user;
结果如下:
+------+-----------------------+-----------+
| user | authentication_string | host |
+------+-----------------------+-----------+
| root | | localhost |
| root | | root |
| root | | 127.0.0.1 |
| root | | ::1 |
| | NULL | localhost |
| | NULL | root |
+------+-----------------------+-----------+
注: 这里也可以看出host默认都是localhost访问权限
-
为用户设置权限(最重要的一点)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; #格式 grant all privileges on *.* to 'root'@'%' identified by 'root';注: 这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
-
从mysql数据库的grant表中重新加载权限数据
flush privileges;
注: 这一步一定要做,不然无法成功!
-
再次执行查看用户表命令
select User,authentication_string,Host from user;如下:
+------+-----------------------+-----------+ | User | authentication_string | Host | +------+-----------------------+-----------+ | root | | localhost | | root | | root | | root | | 127.0.0.1 | | root | | ::1 | | | NULL | localhost | | | NULL | root | | root | | % | +------+-----------------------+-----------+发现多了一个用户,该用户所有的主机都可以访问
-
打开DOS进行连接
#格式:ssh 用户名@主机名 ssh root@192.168.153.129 #连接到Linux服务器得到如下信息:
The authenticity of host '192.168.153.129 (192.168.153.129)' can't be established. RSA key fingerprint is SHA256:dibaHeABz1ebPAZec8sfI+/A74zwavXUZwqjtP5FRbw. Are you sure you want to continue connecting (yes/no)?输入yes结果:
The authenticity of host '192.168.153.129 (192.168.153.129)' can't be established. RSA key fingerprint is SHA256:dibaHeABz1ebPAZec8sfI+/A74zwavXUZwqjtP5FRbw. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.153.129' (RSA) to the list of known hosts. root@192.168.153.129's password: Last login: Mon Dec 23 00:00:57 2019 from 192.168.153.1 [root@root ~]#可以看到已经连接到Linux下了
-
连接mysql数据库
mysql -uroot -p #连接到数据库 -
退出ssh连接(注销登录)
logout #注销登录至此,OK了

1344

被折叠的 条评论
为什么被折叠?



