mysql单机安装

准备工作

检测项

检测命令

标配值

服务器内存

free -m

32G

硬盘

df -h

1T

seLinux

getenforce

Disabled(disabled指关闭,Enforcing指开启

文件描述符大小

ulimit -n

65535

其他优化

Other

Other

清理环境

卸载服务器自带mysql,清理环境,由于服务器系统可能自带部分mysql的程序,因此安装的时候会干扰新安装的程序,因此需要进行环境清理。

注意:卸载只针对新服务器,如果客户的服务器,先确认客户是否又mysql的库在上面,不要把客户的库给干掉了

执行rpm -qa|grep -i mysql

yum list installed mysql*

mysql单机安装_第1张图片

可以看到已有mysql5.7版,卸载它

注意:下面的命令,别傻傻的直接贴命令去执行,看清楚后面的版本号,跟前面查出来的版本号。。。

rpm -ev --nodeps mysql-community-release-el7-5.noarch
rpm -ev --nodeps mysql-community-common-5.7.21-1.e17.x86_64
rpm -ev --nodeps mysql-community-client-5.7.21-1.e17.x86_64
rpm -ev --nodeps mysql-community-libs-5.7.21-1.e17.x86_64
rpm -ev --nodeps community-server-5.7.21-1.e17.x86_64

执行

find / -name mysql

mysql单机安装_第2张图片

 

上面查出来的目录,用rm -rf删除

注意:先在记事本里面打好rm的命令再去执行,别直接贴,删错东西就凉凉

下面不给你们贴命令,防止你们直接贴,自己手打防错

mysql单机安装_第3张图片

最后,看看/etc/my.cnf这个文件有没又,如果又得话删掉。

文件处理

创建mysql目录

    mkdir -p /home/data/atsdb    //新建文件夹,按路径
    mkdir -p /home/data/tool        //新建文件夹,按路径

最终创建完后结构如下:

 

上传mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz到服务器得/opt/data/tool目录

进入/opt/data/tool目录

cd /opt/data/tool //进入指定路径

查看文件是否已上传

ls -l //查看目录中的文件

解压mysql安装包,下面命令解压完后原文件会删掉,我们只用tar的就行

xz -d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz //解压msql的xz文件并删除原文件

解压tar文件,此命令会在目录下生成一个同名的文件夹,里面就是mysql的主程序

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar //解压mysql的tar文件

移动文件夹到/opt/data目录并改名mysql

mv mysql-8.0.16-linux-glibc2.12-x86_64 /home/data/mysql //移动解压出来的文件夹并改名

最终目录结构如下图

mysql单机安装_第4张图片

 

权限处理

创建mysql用户组与用户,并分配目录给mysql用户

groupadd mysql //创建用户组

useradd -g mysql mysql //创建新用户mysql,并分配给mysql用户在,前面一个是用户组,后面是用户

改变/opt/data目录权限为mysql用户

chown -R mysql.mysql /home/data/ //将/opt/data/目录及子目录的权限用户组都改为mysql用户

最终结果如下图示

mysql单机安装_第5张图片

 

mysql配置

my.cnf文件需要放到/etc/目录下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/opt/data/mysql/mysql.sock
[client]
# # 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/opt/data/mysql/mysql.sock
[mysqld]
# 设置3306端口
port=3306
# 设置可连接IP:0.0.0.0是不限制IP
bind-address=0.0.0.0
# # 允许最大连接数
max_connections=3600
# # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# # 服务端使用的字符集默认为UTF8
character-set-server=utf8
# # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# # 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
symbolic-links=0
lower_case_table_names=1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve 
#skip-grant-tables
#设置数据库事务隔离级别
transaction_isolation=READ-COMMITTED
#设置最大长度
group_concat_max_len=102400
basedir=/opt/data/mysql
datadir=/opt/data/atsdb
socket=/opt/data/mysql/mysql.sock
log-error=/opt/data/mysql/mysqld.log
pid-file=/opt/data/mysql/mysqld.pid

mysql初始化

进入到mysql的bin目录,执行初始化语句,注意,此处脚本中basedir与datadir要与my.cnf文件中的保持一致,我们采用的是数据文件与运行文件分开方式部署的,所以路径会单独指定。

cd /home/data/mysql/bin

./mysqld –initialize –user=mysql –basedir=/home/data/mysql --datadir=/home/data/atsdb

关键:

打开/opt/data/mysql/mysqld.log文件,里面又初始化后的数据库root密码,注意这个路径是之前配置中的路径

 

将新的mysql服务复制到init.d目录下,如果提示覆盖,输入yes

cp /opt/data/mysql/support-files/mysql.server /etc/init.d/mysqld

 

分配执行权限,并加入到开机启动中

chmod +x /etc/init.d/mysqld //添加执行权限

chkconfig --add mysqld //添加到服务启动项

chkconfig  --list mysqld //查看服务启动列表

mysql单机安装_第6张图片

 

配置环境变量

修改全局环境变量,添加mysql环境变量,在/etc/profile最后一行加上mysql的环境变量

vim /etc/profile //全局环境变量文件

文件的最下面添加

##########################mysql-path#################

export PATH=$PATH:/opt/data/mysql/bin:/opt/data/mysql/lib

export PATH

保存并退出,然后生效环境变量文件

source /etc/profile

mysql状态

以上操作完成后启动mysql,

service mysql start //启动命令

service mysql stop //停止命令

service mysql status //查看状态命令

service mysql restart //重启mysql

登陆改密

登陆命令

mysql -uroot -p //回车后输入数据库密码,也就是上面提过的密码

登陆成功后修改数据库密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fingard@1@#';

flush privileges; //刷新数据

此处密码自行设定,推荐数字大小写符号的租户,例如:Fingard@1@#

默认mysql用户是不允许远程访问的,需要对用户进行修改,通过下面语句查询

use mysql; //要访问那个库都先use 库名

select user,host from mysql.user;

host中localhost说明只允许本地访问

mysql单机安装_第7张图片

 

修改root用户允许远程访问

update user set host='%' where user='root';

flush privileges;

再次查看允许访问,发现host已经修改,然后用远程连试试。

mysql单机安装_第8张图片

 

你可能感兴趣的:(mysql,服务器,数据库)