ubuntu mysql 初始化_Ubuntu初始化MySQL碰到的坑

想着将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)

圆满解决!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 攻击密码_MySQL用户Root密码为弱口令的攻击

1、连接到对方MYSQL 服务器mysql -u root -h 192.168.0.1mysql.exe 这个程序在你安装了MYSQL的的BIN目录中。2、让我们来看看服务器中有些什么数据库mysqlshow databases; MYSQL默认安装时会有MYSQL、TEST这两个数据库,如果你看到有其它的数据库那么就是用户自建的数…

mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called

今天在写程序的时候使用了别的程序员写的一个Mysql封装类,但是执行后php会报错:Strict standards: Non-static method Mysql::insert() should not be called statically in关于这个错误的的处理方法是修改类文件,将对应报错的“function ins…

mysql建立从库同时备份_mysql主从库配置读写分离以及备份

1,什么是读写分离?其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。一个组从同步集群,通常被称为是…

cesium等高线_Cesium开源三维地球离线地图发布源码示例功能

一、概述Cesium开源三维地球离线地图发布源码提供了地图切换、查询定位、模型加载、专题图叠加显示和测量功能等,旨在为用户提供一个可以在Cesium快速加载离线地图或在线地图的解决方案,并提供技术支持。除了现有基本功能之外,还可以根据用户…

mat 和asmatrix的区别_R语言的稀疏矩阵太大可能就不能用as.matrix了

一个很大的矩阵, 320127 行, 8189列,假如用一个全为0的普通矩阵来存储,需要用到9.8Gbcols rows mat print(object.size(mat), unit"GB")# 19.5 Gbmat print(object.size(mat), unit"GB")# 9.8 Gb这里的0其实也要区分这里…

python 爬取贝壳网小区名称_Python爬虫实战:爬取贝壳网二手房40000条数据

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理以下文章来源于啤酒就辣条 ,作者啤酒就辣条一、网页分析爬取贝壳网石家庄二手房信息,先打开链接https://sjz.ke.com/ershoufang…

python入门基础系列八_Python 入门系列 —— 21. dict 的介绍

Dictionary字典常用于存储键值对的集合,它是一种无序,可修改并且不允许重复,字典是用 {} 来表示,并带有 k/v 键值对,比如下面定义的字典结构。thisdict {"brand": "Ford","model": "Mustang&…

hive mysql5.7_安装并使用mysql5.7作为hive的metastore

前言hive的metastore默认是使用derby来作为metastore,但是derby有一个缺点是不能支持多用户链接,虽然你可以通过切换目录来支持,但是不同目录的metastore会不一致,所以这里使用mysql来作为hive的metastore。在linux上安装mysql数据…

centos禁用exec_CentOS停用按下Ctrl-Alt-Del 重启系统的功能

在Linux里,由于对安全的考虑,我们允许任何人按下Ctrl-Alt-Del来重启系统。但是在生产环境中,应该停用按下Ctrl-Alt-Del 重启系统的功能。[rootlocalhost ~]# cat /etc/inittab# Trap CTRL-ALT-DELETE#ca::ctrlaltdel:/sbin/shutdown -t3 -r n…

gitee如何搭建mysql_Windows基于gitee使用hexo搭建个人博客笔记

声明"全局变量"(以后我提到的站点配置文件和主题配置文件地址):"站点配置文件"位置为 hexo/_config.yml"主题配置文件"位置为 hexo/themes/next/_config.yml搭建hexo安装hexo命令行中输入以下命令(npm即为Node.js环境,如果…

mysql error nr.2003_[MySQL]在安装windows版MySQL时遇到过如下问题Error Nr.1045和Error.Nr.2003,相应解决办法如下...

1、准备mysql server-5.0.27.exe2、按照指导安装,在安装到最后一步时遇到如下两个错误:2.1、出现错误Error Nr.1045解决办法:a).停止MySQL服务:我的电脑-->右键-->管理-->服务和应用程序-->服务 找到名为"MySQL&…

python定制框架知识点_python框架中flask知识点总结

有很久没有更新我的博客了,在学习flask去了,别人都说flask不难,其实现在我也这么觉得,但是在刚接触的时候还是有点吃力的。在学习的过程中查阅了不少,也了解了许多,今天想做个总结。。。以免觉得学了那么久…

如何把通达信公式变成python_通达信附图如何改成选股公式?

龙起爆点副图{龙起爆点副图}{庄家起爆点幅图}DRAWGBK(O>C,RGB(48,41,124),RGB(0,0,0),0,1,0);VAR3AA:IF((CLOSE>REF(CLOSE,1)),88,0);VAR4AA:IF(((CLOSE)/(REF(CLOSE,1))>1.05)AND...龙起爆点副图{龙起爆点副图}{庄家起爆点幅图}DRAWGBK(O>C,RGB(48,41,124),RGB(0,…

java遍历map_java遍历Map的几种方法

**public static void main(String[] args) {Map map new HashMap();map.put("1", "value1");map.put("2", "value2");map.put("3", "value3");//第一种:普遍使用,二次取值System.out.pri…

java -xss_java 防止xss攻击

关于xss的概念和解决方案网上很多,可以参考这个:http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html#xsshappen这里说下最近项目中我们的解决方案,主要用到commons-lang3-3.1.jar这个包的org.apache.commons.lang3.StringEsca…

提高java效率_提高Java编程效率的一个技巧

我们在用Eclipse等IDE进行Java开发时,对于复制、粘贴等操作,我们最常用的是CtrlC和CtrlV,甚至是用鼠标右键进行操作。其实效率最高的操作方式应该还是命令行或快捷键操作方式。编程界一个常见的现象就是凡是用命令行进行编程的人,…

java ftp 连接超时时间_ftpClient的连接超时设置(setConnectTimeout,setSoTimeout) | 学步园...

从 ftpClient的官方网的FAQ里面看到,实现这个需要用一个 自定义的SocketFactory然后实现里面的 createSocket方法,有好多个。http://wiki.apache.org/jakarta-commons/Net/FrequentlyAskedQuestions原文如下:Q: How can I set a connection t…

java break和return的区别_【java】break,continue和return区别

break&#xff1a;适用于switch和loopcontinue:只适用于loop两者都可以通过给循环加标签来控制跳出&#xff0c;如下例所示class BreakDemo{public static void main(String[] args){w:for (int i0; i<4; i) ##外for循环加标签{q:for(int m0;m<10;m)##内for循环加标签{Sy…

面试 java反射机制实现原理_面试官你要这么问我Java反射原理,我就笑了

引读&#xff1a;上周我投递出了简历&#xff0c;岗位是java后端开发工程师。这周美团面试官给我进行了面试&#xff0c;面试过程中他问了Java的反射原理。(不得不夸一句&#xff0c;美团的效率真高&#xff0c;上午面完一面&#xff0c;晚上二面马上安排上了。)无论什么Java技…

java 二叉堆_【数据结构】二叉堆:Java实现最大堆及堆排序

堆在逻辑上一棵完全二叉树&#xff0c;所以可以通过数组进行数据存储&#xff0c;而其余的树大多采用链式结构进行数据存储堆分类&#xff1a;大顶堆&#xff1a;大顶堆就是无论在任何一棵(子)树中&#xff0c;父节点都是最大的小顶堆&#xff1a;小顶堆就是无论在任何一棵(子)…