1.下载mysql

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-el7-x86_64.tar.gz

2.检查linux是否安装mariadb数据库,mariadb数据库是mysql的分支

yum list installed | grep mariadb

如果linux中安装mariadb数据库,可能与安装mysql数据库发生冲突

yum -y remove mariadb   (mariadb是前面检测出来的软件包)

3.解压

cd 压缩包的位置

tar -zxvf mysql.*.*.*.2.1.tar.gz -C /usr/local  (指定解压位置)

4.在/etc文件夹下创建my.cnf文件

[mysqld]

user=mysql

log-error=/var/log/mysql/mysqld.log //错误日志的路径

basedir=/usr/local/mysql-5.7.22 //mysql的安装路径

datadir=/usr/local/mysql-5.7.22/data //数据路径

pid-file=/usr/local/mysql-5.7.22/data/mysqld_pid

5.复制启动脚本文件mysql.server到/etc/init.d/mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

6.更改/etc/init.d/mysqld中的内容为自己安装的mysql的位置

vim /etc/init.d/mysqld

basedir=/usr/local/mysql-5.7.22 //mysql的安装路径

datadir=/usr/local/mysql-5.7.22/data //数据路径

7.将解压得到的文件夹重命名

cd 解压后的文件夹位置(mysql+版本号(假设为mysql.1.2))

mv mysql.*.*.*.2.1 mysql.2.1

8.在mysql.1.2下创建一个文件夹data

cd mysql.2.1

mkdir data

9.添加用户(在mysql.2.1目录下)

useradd mysql

10.切换到mysql.2.1/bin目录下执行

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

注意:会得到一个初始化密码一定要记住,要不然连不上数据库

11.切换到mysql.2.1/bin目录下执行

./mysql_ssl_rsa_setup  --datadir=/usr/local/mysql.2.1/data

12.更改mysql.2.1整个文件夹的权限

chown -R mysql: mysql /usr/local/mysql.2.1

13.启动mysql服务

./mysqld_safe &  (&表示后台启动)

14.切换到mysql.2.1/bin目录下执行登陆

./mysql -uroot -p

输入第七步生成的临时密码

15.执行sql语句show database,会出现错误,提示修改密码

alter user 'root'@'localhost' identified by '123456'

16.授权远程访问

grant all privileges on *.* to root@'%' identified by '123456'

第一个*号表示所有数据库名

第二个*号表示所有数据库表

root@'%':root 表示用户名  %表示ip地址,比如root@localhost,root@192.168.129.189

17.执行刷新权限命令

flush privileges

错误

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

yum install  libaio.so.1

linux下配置mysql 与错误解决的更多相关文章

  1. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  2. Linux下忘记MySQL密码的解决方法和输入mysqld_safe --skip-grant-tables &后无法进入MySQL的解决方法

    在Linux下忘记MySQL密码后我们可以通过一个mysql的参数--skip-grant-tables &轻松解决这个问题 亲测在CentOS有效 其中 --skip-grant-table ...

  3. linux 下配置mysql区分大小写(不区分可能出现找不到表的情况)怎么样使用yum来安装mysql

    Linux 默认情况下,数据库是区分大小写的:因此,要将mysql设置成不区分大小写 在my.cof 设置 lower_case_table_names=1(1忽略大小写,0区分大小写) 检查方式:在 ...

  4. Linux下配置MySQL需要注意的几点

    1.为mysql加上连接数,linux下最大能允许8000个mysql连接. 经验下,设置为3000 [mysqld] max_connections=3000

  5. Linux下配置MySQL主从复制

    一.环境准备 本次准备两台Linux主机,操作系统都为CentOS6.8, 都安装了相同版本的MySQL.(MySQL5.7). 主从服务器的防火墙都开启了3306端口. 相关信息如下: [主服务器] ...

  6. Linux下忘记MySQL密码的解决办法

    一.使用免密码登录 1.使用 #find / -name my.cfg 找到mysql配置文件 2.vim /etc/mysql/my.cfg (我的配置文件是这个路径,每个人的路径可能有所不同,用f ...

  7. linux下忘记mysql root密码解决办法

    vi /etc/my.cnf    #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables [mysqld] skip-grant-tables :wq!  #保存退出 s ...

  8. Linux下配置Mysql允许远程访问

    操作非常简单,就5步骤,如下: 1.进入 mysql: ? 1 /usr/local/mysql/bin/mysql -u root -p 2.使用 mysql库 : ? 1 use mysql; 3 ...

  9. Linux下配置mysql远程访问

    1 编辑mysql的配置文件 mysqld.cnf root@iZwz99xkrnh5xye3zgi4btZ:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf 2 把  ...

随机推荐

  1. Python-python中数组和列表读取一列的方法

    转载自:https://blog.csdn.net/songyunli1111/article/details/78109976 在python中,普通的列表list和numpy中的数组array是不 ...

  2. centos----------centos下安装谷歌浏览器

    1.首先你已经安装了带有可视化界面的centos系统. 2.打开里面自带的一个浏览器,输入网址 http://chrome.richardlloyd.org.uk/install_chrome.sh ...

  3. cookie session 讲解

    cookie: cookie的定义: cookie 是由web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息,并且在每次请求时会携带保存的数据去访问服务器,所以cookie有 ...

  4. write RE validation

    正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个模式(规则) ...

  5. api测试工具

    在线接口测试 http://www.36nu.com/apiTest 使用Fiddler测试WebApi接口 https://www.cnblogs.com/weixing/p/5254836.htm ...

  6. iOS项目之获取WebView的高度

    获取高度值的方法: - (void)webViewDidFinishLoad:(UIWebView *)webView { // 获取webView的高度 CGFloat webViewHeight ...

  7. ESP8266使用笔记之常用固件

    开发板使用的是NodeMCU开发板: 目录 1.学习使用ESP8266官方的SDK         1.1使用SDK提供的AT固件         1.2使用SDK Build固件 2.学习使用Nod ...

  8. Python Redis 常用操作

    delete(*names) # 根据删除redis中的任意数据类型 exists(name) # 检测redis的name是否存在 keys(pattern='*') # 根据模型获取redis的n ...

  9. IDEA设置(含永久破解IDEA)

    永久破解IDEA(很多license服务器都是非永久性的,太麻烦了) https://www.cnblogs.com/iathanasy/p/9469280.html,亲测. 在我们为 IDEA 等编 ...

  10. tp剩余未验证内容-8

    模型类的自动验证? 分为自动验证, 和 动态验证(手工验证), 前者的验证规则是定义在模型类中的, 所以要自己创建 扩展的/继承的模型类, 同时用 D方法实例化模型类 而动态验证是 先调用 valid ...