服务器部署mysql
1、参考:https://blog.csdn.net/qq_41606459/article/details/84550301
服务器安装部署mysql
1、官网下载地址:https://www.mysql.com/downloads/
2、将 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 上传到 /usr/local 目录下
将 安装包进行解压:登录服务器,cd /usr/local/ 下执行:tar -xzf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 进行解压,
然后重命名:
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
此时解压完的文件名为 mysql
这个时候达到的效果是/usr/local/mysql/..(一堆解压开的文件)
3、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
4、安装
#在/usr/local/mysql目录下新建data文件夹,以后的数据库文件将放在这里
mkdir data
依次执行以下命令:
chown -R mysql:mysql ./
#mysql_install_db 被废弃了,取而代之的是 mysqld –-initialize
./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#将mysql/目录下除了data/目录的所有文件,改回root用户所有
[root@ mysql]# chown -R root .
#mysql用户只需作为mysql/data/目录下所有文件的所有者
[root@instance_4dbde0 mysql]# chown -R mysql data
#复制启动文件
[root@instance_4dbde0 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@instance_4dbde0 mysq]# chmod 755 /etc/init.d/mysqld
[root@instance_4dbde0 bin]# cp /usr/local/mysql/bin/my_print_defaults /usr/bin/
#修改启动脚本
[root@instance_4dbde0 mysql]# vim /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port=3306
#启动服务
[root@instance_4dbde0 mysql]# service mysqld start
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
[root@instance_4dbde0 mysql]# vim /etc/profile
#添加mysql路径
export PATH=$PATH:/usr/local/mysql/bin
#刷新立即生效
[root@instance_4dbde0 mysql]# source /etc/profile
配置以上信息之后,基本就可以启动了mysql(如果不能启动,请看最后的配置文件),但是现在还缺少mysql的配置文件,即my.cnf文件(没有它Mysql也可以使用内置的默认参数启动),最后说
接下来就可以使用命令登录mysql了
[root@instance_4dbde0 bin]# mysql -uroot -p
Enter password: -- 此时不知道密码,所以,直接先改my.cnf配置文件
#如果登不进去,则改my.cnf配置文件,跳过验证登录,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
vim /etc/my.cnf 添加 skip-grant-tables
#重新启动,登录
ps -ef | grep mysql
kill -9 (进程号)
service mysqld start
mysql -uroot
#修改密码
use mysql;
update user set authentication_string=password("新密码") where user='root';
flush privileges;
exit;
参考:https://www.cnblogs.com/weifeng1463/p/7941625.html
注意:服务器mysql用到的端口得开放,能访问才行哟
2、实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
mysql> use mysql;
Database changed
mysql> grant all privileges on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)-- 建议这个,比较快,还不会报错
use mysql;
update user set host = '%' where user = 'root';
这样在远端就可以通过root用户访问Mysql.