Mysql安装

1.下载mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz的安装包

云盘下载链接:https://pan.baidu.com/s/1CwH3yKNoQ_dUX4Q2xrA5Aw 提取码:jxbk

2.解压mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz

3.将解压的文件重命名mysql,并移动到/usr/local目录下


# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
# mv mysql /usr/local/

4.进入到mysql目录下,创建data文件夹

# cd mysql
# mkdir data

5.进入到/usr/local目录下,创建用户和用户组并授权

# cd /usr/local/     #注意要先进入到该目录下
# groupadd mysql    # 创建用户组
# useradd -r -g mysql syw    #添加用户名为syw的用户到 mysql用户组
# cd mysql/ #注意:进入mysql文件下授权所有的文件
# chown -R syw:mysql ./  #让该目录属于刚刚创建的syw用户
#passwd syw   #修改mysql用户密码

注意:如果在创建虚拟机的时候已经新建用户了,这里所有的步骤都可以省略。

6.初始化数据库,并会自动生成随机密码,记住:登陆要用

这里的--user=用户名 ,需要和你创建的用户对应。如果生成的密码忘记了,则可以在刚刚创建的data目录下的error.log中查看

# bin/mysqld --initialize --user=syw --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7.配置my.cnf

注意:这里需要先进入 /usr/local/mysql/support-files 查看里面是否有my-default.cnf文件,如果不存在则需要手动创建一个。

# cd support-files/
# touch my-default.cnf
# chmod 777 ./my-default.cnf 
# cd ../
# cp support-files/my-default.cnf /etc/my.cnf #拷贝为 /etc/my.cnf
# 修改配置文件
# vim /etc/my.cnf 

修改my.cnf的内容如下:

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
user= syw #这里的user为刚刚使用的用户
port = 3306
max_allowed_packet=32M
default-authentication-plugin = mysql_native_password
log_bin_trust_function_creators = ON
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#如果mysql运行报错,可以直接到log-error = /usr/local/mysql/data/error.log目录下直接查看错误日志

8.将mysql服务设置为开机自启动

# cd support-files/
# cp mysql.server /etc/init.d/mysql 
# chmod +x /etc/init.d/mysql

9.注册服务

# chkconfig --add mysql    #注册服务
# chkconfig --list mysql   #查看是否成功,如果英文,并且下面有6个开启或关闭的选项即为成功。

如果上面注册服务命令没有成功,需进行如下操作,否则跳过

# rpm -aq |grep chkconfig
# export PATH=/sbin:$PATH
# chkconfig
# echo $PATH
# PATH="$PATH":/sbin
# echo $PATH

10.etc/ld.so.conf要配置路径,不然报错

# vim /etc/ld.so.conf
添加如下内容:
/usr/local/mysql/lib

11.配置环境变量

# vim /etc/profile
# 在文件最末尾添加如下内容:
# export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
# 保存退出后执行,即时生效
# source /etc/profile

12.启动服务,登录

#启动mysql服务
# service mysql start
#查看服务是否启动
# service mysql status
# mysql -u root -p   # 登录,这里需要输入上面随机生成的密码
#如果提示bash: mysql: 未找到命令...   那么需要执行以下语句
# ln -s /usr/local/mysql/bin/mysql /usr/bin
# 如果提示 . ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).去看看是不是data分组权限没有配置好,重新做下授权再启动mysql

13.修改密码,开启远程连接

# mysql -uroot -p #进入数据库
# use mysql; #进入数据库
# GRANT ALL ON *.* TO 'root'@'%';#授权root用户可以远程登陆,如果说不能通过grant创建用户,则先执行:create user 'root'@'%' identified by '123456'; 然后在授权
# flush privileges;#立即生效
# ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';#修改root用户密码为123456
# 注意:如果刚进来就让修改密码,而且上面方式不能修改成功,则使用如下语句:alter user 'root'@'localhost' identified by '123456';
# FLUSH PRIVILEGES;#立即生效
# exit;#退出
# service mysql restart#重启mysql服务

14.打开防火墙规则

#开放默认端口号 3306.
# firewall-cmd --permanent --zone=public --add-port=3306/tcp
# firewall-cmd --permanent --zone=public --add-port=3306/udp
# 重新加载防火墙
# firewall-cmd --reload 

查看防火墙开放的端口号:【firewall-cmd --zone=public --list-ports】。

至此,外部的远程连接工具就可以连接到对应的mysql了

15.远程连接数据库

mysql -u用户名  -p密码 -hIP地址 -P端口号 -D数据库名称

如下:(注意,一定要紧挨着,例如-p和密码中间不能有空格)

mysql -uroot  -p123456 -h192.141.133.226 -P3306 -Dtest

乱码问题处理

首先:查看服务中默认加载的ini文件的地址,然后根据如下步骤进行操作即

#第一步
[client]
default-character-set=utf8
port=3306
#第二步:
[mysql]
no-beep
default-character-set=utf8
#第三步:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
#第四步:
 重新启动Mysql服务
       1)输入 mysql -u root -p      进入mysql数据库 
     2)键入密码:*****(自己的密码,没有的话直接回车键)
     3)show variables like 'char%';  显示编码格式
结束:经过实际的测试可以解决中文乱码的问题,之前出现的latin1现在都变成了utf8

全部评论