我的文件夹/data/xypt,然后在里面创建了software存放下载的软件
进入软件目录,cd /data/xypt/software ,可根据你自己的根目录文件创建文件夹
取上面的地址,Mysql 5.7-26免安装包:wget
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
进入压缩包文件夹
cd /data/xypt/software
tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
移动到xypt文件夹下并改成mysql
mv mysql-5.7.26-linux-glibc2.12-x86_64 /data/xypt/mysql
数据库现存目录为:/data/xypt/mysql
创建数据仓库,也放到xypt文件夹下
mkdir /data/xypt/data
ls -lh 或 ll 可看当前文件夹所属的用户及权限
进入mysql数据库目录 cd /data/xypt/mysql
#pwd
创建用户组和用户,很多资料用的都是mysql,我这里用的是自己的,如果为了方便可以用mysql,不过有的默认的linux会有mysql的组和用户,所以为了体验可以用个自定义的用户。我这里用的是xiaohu,当然为了省麻烦,用户组和用户都是xiaohu
groupadd xiaohu //创建用户组,groupdel 是删除组
// useradd xiaohu //创建用户,userdel xiaohu 是删除用户
useradd -r -s /sbin/nologin -g xiaohu xiaohu -d /data/xypt/mysql ---新建msyql用户禁止登录shell
cat /etc/group 查看用户组信息
cat /etc/password 查看所有用户信息
用户信息详见:https://www.cnblogs.com/123-/p/4189072.html
进入mysql文件夹
# cd /data/xypt/mysql
#chown -R xiaohu . //最后有个点,这个点代表当前目录,当前目录权限
#chgrp -R xiaohu . //所属组权限
对用户赋予数据仓库权限
#chown -R xiaohu /data/xypt/data
# bin/mysqld --initialize --user=xiaohu --basedir=/data/xypt/mysql5.7-26 --datadir=/data/xypt/data/mysql
最后的root@localhost:后的字母为生成的临时密码,后续登录数据库要用到。
如果第二次执行或执行报错,如下。
这个问题出现是数据仓库已经存在初始化数据,将数据仓库的所有文件删除后在执行就行了。
进入数据仓库 #cd /data/xypt/data
删除文件夹下所有文件:rm -rf *
#bin/mysql_ssl_rsa_setup --datadir=/data/mysql --这个是mysql5.7以后安装初始化阶段多的一步,为安装SSL的。
如果没有出现上面信息,那就是安装有问题,删除用户及用户组和数据仓库数据库文件夹,从头再来一次。运行上面命令后,默认会在数据仓库里面生成.pem文件这些文件用于启动SSL功能的。
网址地址:https://www.cnblogs.com/mysql-dba/p/7061300.html
进入数据库文件夹下的support-files
#cd /data/xypt/mysql/support-files
进入该目录下,5.7以上版本是没有my-default.cnf这个文件的,因为5.7以上的版本不用my-default.cnf也可以启动,所以就去掉了。这个地方如果没有这个文件那就建一个。
#touch my-default.cnf --建立文件
#vim my-default.cnf --编辑,vi也可以编辑,只不过vim是文本编辑,有颜色显示。vim进入后可以通过点E编辑
cnf文件 内容
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# 基础目录
basedir=/data/xypt/mysql
# 数据目录
datadir=/data/xypt/data
# MySQL监听端口
port=3306
# soket文件
socket=/var/lib/mysql/mysql.sock
# 服务器字符集
character-set-server = utf8
# mysql pid文件 进程ID文件
#pid-file=/tmp/mysqld.pid
# skip-grant-tables
# explicit_defaults_for_timestamp=1 设置时间列是否自动更新,timestamp
lower-case-table-names = 1 # 区别表名大小写
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
table_open_cache = 256
max_connections = 6000
max_connect_errors = 6000
[mysqld_safe]
# mysql 错误日志文件
log-error=/data/xypt/data/mysqld.log
# mysql pid文件 进程ID文件
#pid-file=/data/xypt/mysql/mysqld.pid
这里面说一下几个数据明细。
basedir为数据库文件目录路径,datadir为数据仓库目录,socket路径写成/var/lib/mysql/mysql.sock最好不要自定义,否则会有报错。log-error错误日志文件存放地址,我是放到了数据仓库中,如果数据仓库没有这个mysqld.log,通过#touch mysqld.log创建文件。
标蓝色的mysqlpid有两处,一处在[mysqld]中是固定的路径/tmp/mysqld.pid,另一个在[mysqld_safe]是自定义路径,放在数据库文件夹下。经过自己的测试,下面的这种写法会报以下错误。
所以将下面这种隐藏,将上面这种放开,放开就是将#号删除即可。
详细参数介绍见网络地址:
https://www.cnblogs.com/xu743876685/p/8642027.html
sql_mode详细数值介绍:
https://www.cnblogs.com/grimm/p/5752259.html
open_tables和table_open_cache数值大小详见地址:
https://www.cnblogs.com/fjping0606/p/6531292.html
max_connections数值详见地址:
https://www.jb51.net/article/51829.htm
max_connect_errors数值详见地址:
https://blog.csdn.net/mydriverc2/article/details/79025841
上面操作是将my-default.cnf创建,并将参数简单介绍了一下。
#cp my-default.cnf /etc/my.cnf
#cp mysql.server /etc/init.d/mysql
#vim /ect/init.d/mysql
修改basedir和datadir地址。
#/etc/init.d/mysql start
如果再次出现以下信息
出现上面的问题就是因为权限的问题,可网上资料很多都说了很多也没解决我的问题,最后终于知道了是我分配了/data/xypt/mysql和/data/xypt/data这两个文件的权限,但我没有分配根目录/data的权限,所以这里将权限重新赋予/data根目录一下就行。
则执行#vim /etc/my.cnf,添加用户
登录:# mysql -hlocalhost -uroot -p
#use mysql
更改密码
update user set authentication_string=password(1234) where user=xiaohu
--设置root账户的host地址(修改了才可以远程连接)
mysql>grant all privileges on *.* to 'root'@'%' identified by '1234';
mysql>flush privileges;
Mysql用户操作详见地址:
https://www.cnblogs.com/zhchoutai/p/6929103.html
https://www.cnblogs.com/123-/p/4189072.html
服务器关机与重启命令详解
https://www.cnblogs.com/itlive/p/4097891.html
----------------------------------------------------------------------
安装mysql转载网址来源:
https://www.cnblogs.com/dengshihuang/p/8029092.html