1.在百度上搜索MySQL官网,进入下载页面-->选择社区版(Community)-->选择MySQL Community Server
选择 Linux - Generic 点击ALL 选择 Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive下载。
2.上传到 /usr/local/ 文件目录底线
3.tar -xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 解压。
4. mv mysql-8.0.12-linux-glibc2.12-x86_64 mysql 从命名。
5.添加系统mysql组和mysql用户
命令:groupadd mysql
命令:useradd -r -g mysql -s /bin/false mysql
6. cd /usr/local/mysql
修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
7.配置mysql配置文件 vi /etc/my.cnf 按照以下添加(添加完记得给权限 chmod 777 /etc/my.cnf)
[client]
port=3306
default-character-set=utf8
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/mysql-log/error.log
pid-file=/usr/local/mysql/data/mysql.pid
!includedir /etc/my.cnf.d
--------------------------------到此 wq 退出--------------------------------------
8.进去 cd /usr/local/mysql
创建 mkdir data
创建 mkdir mysql-log
进入 cd /usr/local/mysql/mysql-log
vi error.log
chmod 777 error.log
9.初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#会有一个密码如下 一定要记下:Pa*ryk8*?GTP
A temporary password is generated for root@localhost: Pa*ryk8*?GTP
10.添加开机启动mysql服务和启动mysql服务(需要在mysql下的support-files)
添加mysql服务
cp support-files/mysql.server /etc/init.d/mysql (这一步容易出错自己百度吧)
添加开机启动服务
命令:chkconfig --add mysql
添加mysql系统命令,修改系统文件,添加内容,是内容生效。
vim /etc/profile
添加下面
export MYSQL_HOME=$PATH:/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
内容生效命令:source /etc/profile
11.修改mysql的root用户密码,root初始密码
启动服务停止服务
命令:service mysql start
命令:service mysql stop
进入数据库命令:mysql -u root -p
#修改 密码 这个不好用继续下一个
#SET PASSWORD = PASSWORD('root');
#alter user 'root'@'root' identified by 'root';
alter user user() identified by "root";
PS(修改密码%表示所有,如果写loclhost表示修改的本地密码 ):
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
#建议先用这个尝试 (这个可以不用)
#alter user user() identified by "root";
刷新权限命令:flush privileges;
修改远程登登录命令:update user set `host` = '%' where `user` = 'root' limit 1;
然后刷新权限命令:flush privileges;
#远程登录 用这个 亲测可用
注意:开启远程连接的方法很多,这里是修改表法。其他自己可以尝试。
1.
use mysql;
select host,user from user;
2.
CREATE USER 'root'@'<127.0.0.1>' IDENTIFIED BY 'root';
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root';
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
CREATE USER 'root'@'::1' IDENTIFIED BY 'root';
3.
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
#----------------------------以上就是安装以及开启远程连接--------------------------------
#—————————————Error Code: 1044. Access denied for user 'root'@'%' to database————————
#解决办法:这是没有权限的问题。如图所示
mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
-------------- --------- ------------------------------------------- ------------ ------------
| host | user | password | Grant_priv | Super_priv |
-------------- --------- ------------------------------------------- ------------ ------------
| 192.168.28.% | oozie | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N | Y |
| 192.168.28.% | hive | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N | Y |
| 192.168.28.% | root | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | Y | Y |
| localhost | ranger | *84BB87F6BF7F61703B24CE1C9AA9C0E3F2286900 | N | N |
| localhost | root | 0 | Y | Y |
| % | root | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N | Y |
| 127.0.0.1 | root | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | Y | Y |
| % | ranger | *84BB87F6BF7F61703B24CE1C9AA9C0E3F2286900 | N | Y |
-------------- --------- ------------------------------------------- ------------ ------------
1.登录MySQL
mysql -u root -p
1
输入您的密码
2.选择 mysql 数据库
use mysql;
因为 mysql 数据库中存储了用户信息的 user 表。
3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息
select host, user, authentication_string, plugin from user;
执行完上面的命令后会显示一个表格
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
4.授权 root 用户的所有权限并设置远程访问
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。
5.刷新权限
所有操作后,应执行
flush privileges;
---------------------