ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux tar压缩包安装MYSQL

2021-10-23 17:31:23  阅读:187  来源: 互联网

标签:tar local MYSQL etc usr mysql Copy data 压缩包


1、解压msyql安装包到指定目录下

Copy
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz -C /usr/local

重命名项目,进入/usr/local目录
Copy
cd /usr/local
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql

2、新建mysql数据及日志存放路径:

Copy
cd /data
mkdir mysql
cd mysql
mkdir data  # 存放mysql数据

修改配置文件

有的话直接修改,没有就创建

Copy
touch /etc/my.cnf
vim my.cnf

# 配置如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
port = 3306  # 设置3306端口
socket=/data/mysql/mysql.sock  # 套接字保存路径
basedir=/usr/local/mysql  # 设置mysql的安装目录
datadir=/data/mysql/data  # 设置mysql数据库的数据的存放目录
log-error=/data/mysql/error.log  # 报错日志路径
pid-file=/data/mysql/mysql.pid
max_connections=1000  # 允许最大连接数
character-set-server=utf8  # 服务端使用的字符集默认为8比特编码的latin1字符集

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=1024M

[mysqld_safe]
socket=/data/mysql/mysql.sock

[client]
socket=/data/mysql/mysql.sock

[mysql.server]
socket=/data/mysql/mysql.sock

image-20200316183119983

7.创建mysql用户组

Copy
[gz_admin@ ~]# groupadd mysql
#创建一个用户名为mysql的用户并加入mysql用户组
[gz_admin@ ~]# useradd -g mysql mysql
#制定password 为 mysql123
[gz_admin@~]# passwd mysql
Changing password for user mysql.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.

8.修改mysql目录权限,命令如下:

Copy
chown -R mysql:mysql /usr/local/mysql  # 修改mysql属主给mysql用户
chown -R mysql:mysql /data/mysql  # 修改data属主给mysql用户
chmod -R 755 /data/mysql /usr/local/mysql  # 写入权限

9.安装初始化mysql,命令如下:

Copy
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --initialize

注释:
# 解压后的文件夹路径
--basedir=/usr/local/mysql

# 指定数据目录,初始化过程中会自动创建该目录
--datadir=/usr/local/mysql/data

注意,这一步会产生一个临时密码,需要到指定的日志文件日志中去查看。

10.将mysql进程放入系统进程中,命令如下:

修改/support-files/mysql.server文件

Copy
basedir=/usr/local/mysql
datadir=/data/mysql/data
mysqld_pid_file_path=/data/mysql/mysql.pid

拷贝到/etc/init.d/mysqld

Copy
cp support-files/mysql.server /etc/init.d/mysql

然后就可以使用此命令启动/关闭 mysql:

Copy
service mysql start
service mysql stop
service mysql restart

11.设置开机启动 在/etc/init.d文件夹下操作

Copy
cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart

11.启动mysql

Copy
service mysql start
mysql -u root -p  # 输入密码进入

初始密码查看方法,进入配置中指定的日志文件,error.log

image-20200316200227321

12.设置mysql环境变量

Copy
vim /etc/profile
export PATH=$PATH:/usr/bin/mysql/bin
source /etc/profile

重置root密码#

1.编辑MySQL配置文件my.cnf

vi /etc/my.cnf #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables

Copy
[mysqld]
skip-grant-tables

:wq! #保存退出

Copy
service mysqld restart  #重启MySQL服务

2.进入MySQL控制台

Copy
mysql -uroot -p  #直接按回车,这时不需要输入root密码。

3.修改root密码

Copy
update mysql.user set password=password('123456') where User="root" and Host="localhost";
flush privileges; #刷新系统授权表
grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;

4.取消/etc/my.cnf中的skip-grant-tables

Copy
vi /etc/my.cnf  编辑文件,找到[mysqld],删除skip-grant-tables这一行

:wq! #保存退出

5.重启mysql

Copy
service mysqld restart  #重启mysql,这个时候mysql的root密码已经修改为123456

6.进入mysql控制台

Copy
mysql -uroot -p #进入mysql控制台
123456 #输入密码

mysql服务开启远程访问#

问题现象:使用mysql远程登录命令mysql –uroot –h192.168.1.102 –p时,报错MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server

问题原因:mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。

问题解决:登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%",然后重启mysql这样就允许所有的远程机器进行访问了。
1.修改mysql表

Copy
mysql -u root -p
mysql>use mysql;
mysql>update user set host='%' where user='root';
mysql>flush privileges;

mysql>select host, user from user;
mysql>quit

2.重启mysql

Copy
mysql.server restart

标签:tar,local,MYSQL,etc,usr,mysql,Copy,data,压缩包
来源: https://www.cnblogs.com/chnluxi/p/15449069.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有