想着将MySQL初始化,改变一下存放数据文件的位置:

root@ubuntu:/lvmdata# mkdir data

root@ubuntu:/lvmdata# chown -R mysql:mysql /lvmdata/data

修改MySQL配置文件:

datadir = /lvmdata/data

然后初始化:

root@ubuntu:/lvmdata# mysqld --initialize --user=mysql --datadir=/lvmdata/data

报错:

mysqld: Can't create directory '/lvmdata/data/' (Errcode: 17 - File exists)

好吧,我让你在data再建一个文件夹好了吧:

root@ubuntu:/lvmdata# mysqld --initialize --user=mysql --datadir=/lvmdata/data/data

mysqld: Can't create directory '/lvmdata/data/data/' (Errcode: 13 - Permission denied)

2018-01-07T08:59:15.782022Z 0 [ERROR] Aborting

。。。

建好了你说已存在,没建好你说没权限创建,可是明明权限都给mysql用户了啊。

查了下,是这玩意:

因为Ubuntu有个AppArmor,是一个Linux系统安全应用程序,类似于Selinux,AppArmor默认安全策略定义个别应用程序可以访问系统资源和各自的特权,如果不设置服务的执行程序,即使你改了属主属组并0777权限,也是对服务起不到作用。

ok,apt安装下MySQL默认数据目录是/var/lib/mysql,其它的目录权限都不可。开始修改:

# vim /etc/apparmor.d/usr.sbin.mysqld

找到:

# Allow data dir access

/var/lib/mysql/ r,

/var/lib/mysql/** rwk,

修改为:

# Allow data dir access

/lvmdata/data/ r,

/lvmdata/data/** rwk,

重启apparmor服务:

# service apparmor restart

再初始化MySQL:

root@ubuntu:/lvmdata/data# mysqld --initialize --user=mysql --datadir=/lvmdata/data

成功:

root@ubuntu:/lvmdata/data# ls

auto.cnf ibdata1 ib_logfile1 mysql sys

ib_buffer_pool ib_logfile0 ibtmp1 performance_schema

启动服务,登录:

root@ubuntu:/lvmdata/data# service mysql start

root@ubuntu:/lvmdata/data# mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

root密码没了。。。

对于Mysql 5.7.6以后的5.7系列版本,Mysql使用mysqld --initialize或mysqld --initialize-insecure命令来初始化数据库,后者可以不生成随机密码。但是安装Mysql时默认使用的是前一个命令,这个命令也会生成一个随机密码。改密码保存在了Mysql的日志文件中。

查找MySQL日志:

root@ubuntu:/var/log/mysql# tail /var/log/mysql/error.log

2018-01-07T09:43:31.587130Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2018-01-07T09:43:31.697297Z 0 [ERROR] Too many arguments (first extra is 'mysqld').

2018-01-07T09:43:31.697318Z 0 [ERROR] Aborting

2018-01-07T09:44:51.131747Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2018-01-07T09:44:51.417055Z 0 [Warning] InnoDB: New log files created, LSN=45790

2018-01-07T09:44:51.518291Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2018-01-07T09:44:51.597737Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 686d9f78-f38f-11e7-a027-000c2927e6cf.

2018-01-07T09:44:51.601893Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.

2018-01-07T09:44:51.603154Z 1 [Note] A temporary password is generated for root@localhost: Qs0K5tiIA7-K

最后一行,密码Qs0K5tiIA7-K,再登录成功并要求更改密码:

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

更改:

mysql> SET PASSWORD = PASSWORD('yourpwd');

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

4 rows in set (0.00 sec)

圆满解决!

ubuntu mysql 初始化_Ubuntu初始化MySQL碰到的坑相关推荐

  1. ubuntu mysql 编译_Ubuntu下mysql编译安装

    安装必备工具 编译安装需要其他安装程序支持,推荐采用编译安装各种所需包,此处为了方便,使用ubuntu提供的apt-get install方法安装所需工具 sudo apt-get install c ...

  2. ubuntu更改mysql编码格式_Ubuntu修改mysql编码格式

    今天在Ubuntu系统上部署了第一个net core的web网站,遇到了mysql入库数据乱码的情况.无奈,ubuntu系统不熟悉,mysql命令不熟悉,只得在网上查找各种资料.还是老规矩,主要参考的 ...

  3. 在ubuntu安装mysql数据库_ubuntu安装mysql数据库方法

    ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86.64位和ppc架构.一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好.那么 ...

  4. ubuntu删除安装的mysql数据库_Ubuntu下MySQL数据库安装与配置与卸载

    安装: sudo apt-get install mysql-server mysql-client 一旦安装完成,MySQL 服务器应该自动启动.您可以在终端提示符后运行以下命令来检查 MySQL ...

  5. ubuntu mysql 中午_Ubuntu更改MySQL字符集UTF-8,正确显示中文

    首先停mysql服务,编辑配置文件my.cnf $ sudo stop mysql $sudo vim /etc/mysql/my.cnf [client] default-character-set ...

  6. ubuntu mysql开发_ubuntu linux mysql 开发模式与连接编译

    [源码 测试] #include #include #include int main(void) { MYSQL_RES *result; MYSQL_ROW row; MYSQL *connect ...

  7. ubuntu mysql 数据_Ubuntu下MySQL数据库使用

    昨晚,终于安装上了mysql.但是.操作的时候,老是提示'Access denied for user 'root'@'localhost' (using password: YES).闷了一晚.今早 ...

  8. 乌班图安装mysql 目录_Ubuntu 安装mysql 自定义数据存储目录

    一.安装 apt-get install mysql-server 执行过程如下: root@duke:~# apt-get install mysql-server 正在读取软件包列表... 完成 ...

  9. ubuntu下mysql语句_Ubuntu安装mysql及常用SQL操作语句

    Ubuntu安装mysql及常用SQL操作语句:安装mysql,在终端运行如下三条命令. sudo apt-get install mysql-server sudo apt-get install ...

最新文章

  1. Decision stump、Bootstraping、bagging、boosting、Random Forest、Gradient Boosting
  2. WordPress 网站开发“微信小程序“实战(二)
  3. 【刷题】LOJ 6014 「网络流 24 题」最长 k 可重区间集
  4. oracle instead of update触发器,Oracle中的instead of触发器
  5. LINUX系统中动态链接库的创建与使用
  6. getDeclaredFields()应用
  7. HBase性能优化方法总结(二):写表操作
  8. 数据结构实验之栈:行编辑器
  9. linux6.5能安装的firefox,Centos6.5安装firefox
  10. Head First 设计模式--1策略模式 组合优于继承
  11. Java基础教程(12)--深入理解类
  12. 用条件变量实现事件等待器的正确与错误做法
  13. BootStrap中常用样式类
  14. 基于MATLAB,应用SMOTE算法对小样本类进行过采样
  15. 【评分】软件工程实践2017第一次作业-准备
  16. springboot+vue疫情管理大作业
  17. html5 打气球小游戏,javascript开发打气球小游戏
  18. 【云和恩墨业务介绍】之数据库性能优化服务
  19. ubuntu 16.04 通过wine安装Kindle for pc 中文无乱码
  20. java 如何循环执行一个对象_养猪场循环生态循环模式及其效益分析,当前牧草成为生态循环猪场效益更好的选择,如何打造一个现代生态循环的高效益猪场?...

热门文章

  1. 将x的二进制最后一位置为0
  2. VS2013报错:错误:没有与这些操作匹配的《运算符
  3. 操作系统--多进程管理CPU
  4. 三层神经网络实现手写数字的识别(基于tensorflow)
  5. git 撤销修改:未push 、已push
  6. Kibana Guide ( Kibana 向导 )
  7. C 语言 函数调用栈
  8. OFD文件结构--Signatures.xml
  9. C语言的叙述大小写字母e1相同,第1、2章C语言基础练习题
  10. linux建立动态库链接,Linux动态链接库.so文件的创建与使用