ubuntu14.04下简易二进制安装mysql
下载mysql-commnunity的5.6.24通用二进制版
tar解压
我安装到/opt目录,所以mv到/opt/
可选,建了个软链 ln -s *** mysql
添加运行mysql服务的用户和组
mysqlgroup groupadd useradd -r(系统,不可登录)
递归更改mysql主目录所属用户、组和访问权限
(目的是为了保证安装过程中 mysql用户 对 mysql中的各目录和文件的读写访问权限)
chown -R chgrp -R
二进制安装必须自己初始化data目录,该目录中就包mysql的系统数据库
系统数据库中包含grant表,该表中存储了mysql各用户访问服务的权限
http://dev.mysql.com/doc/refman/5.6/en/data-directory-initialization.htmlmysql_install_db不会重写已存在的权限表。如果没有以mysql用户登录,则必须指定--user参数。如果不安装在/user/local目录,必须指定--basedir和--datadir参数。
mysql_install_db在创建系统数据库的同时,也创建了test数据库,为test_用户加入了访问权限,方便测试是否初始化成功。
sudo mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data。
另外建议带选项--random-password,为默认的root用户带上随机密码。
此时可能出现的问题及解决方法如下:http://dev.mysql.com/doc/refman/5.6/en/mysql-install-db-problems.html
安装完成后,目录中有存储插件的目录(由系统变量中plugin_dir指定的目录)如果对服务开放了写权限的话是不安全的。此时可以把该目录设为只读,或者在服务启动时为该目录增加secure_file_priv变量。
初始化同时在mysql的数据库中建立了时区表timezone但并没有设置为本地时区。
更改mysql目录的所有者(可选)
目录的所有更可以选择更改为root用户,但是对于 data 目录,该目录所有者必须为 mysql用户。
启动MySQL服务
在Unix系统上建议使用mysqld_safe 来启动MySQL服务,它调用mysqld,但比mysqld多了一些安全特性。
如果当前工作目录为mysql主目录,那么直接运行mysqld_safe &时它会自动寻找当前工作目录中相关的服务和数据库。但如果当前目录不是mysql主目录,则要指定--ledir和--datadir参数。另外,还可心在启动时指定错误日志和运行日志参数。
cd /opt/mysql
sudo /opt/mysql/bin/mysqld_safe --user=mysql --ledir=/opt/mysqlbin (出错时,可以根据错误信息,然后--help查看并修改启动参数)
复制配置文件
如果要为mysql启动时配置参数,如--datadir,--basedir等参数,则须要将my.cnf复制到/etc或者/etc/mysql
mysql最先调用/etc下的my.cnf,然后是mysql主目录中的my.cnf,在修改配置文件时最好在指定--user时不要使用root,改而使用诸如mysql等其它用户。如果其它地方指定启动参数--user,都会覆盖/etc下的my.cnf。
另外,如果要在表中存中文的话,mysql默认的是latin1字符集,不能表示拉丁语系以外的语言。
mysql中执行show variables like 'character%';或者\s都可以查看当前的字符集
所以在修改my.cnf:(在client,mysqld和mysql中添加如下内容):
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
建表的时候也要设置字符集为UTF8:default character set=utf8;
设置自动启动
mysql.server脚本会调用mysqld_safe来启动服务。若要设置为自动启动,编辑其中的启动参数并复制到/etc/init.d,设置为可执行。
另外,mysql.server 只支持start和stop参数。启动时会用到/etc/my.cnf中的参数
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
然后配置系统的启动选项并将mysql.server添加到启动项中。ubuntu14.04LTS中没有chkconfig,可以apt-get安装,或者用其它命令如update-rc.d等,或者直接手动更改。
sudo ln /etc/init.d/mysql /etc/rc2.d/S20mysql
关于开机启动:linux 随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件,另外在/etc还有c1.d, rc2.d……rc6.d,这些都是linux不同的runlevel
- 0 系统停机状态
- 1 单用户模式,只准许root用户对系统进系维护
- 2~5 多用户模式(其中3为字符界面、5为图形界面)
- 6 重启启动
runlevel命令可查看当前运行级别,rcX.d的脚本文件就是运行第X级时要随机启动的服务程序。rcX.d下的文件都是/etc/init.d下文件的一个软链,而每个rcX.d只链接它自己启动需要的相应的程序。要使某个程序开机启动,我们可以编写一个脚本程序,把它放到/etc/init.d里,然后在rcX.d里做一个相 应的软链就可以了(软链要改名,S开头表启动,K开关表不启动)。
#!/bin/bash
//要运行的命令
第一行是声明用什么终端运行这个脚本,后面写要运行的命令。
设置mysql的root用户密码以及其它安全相关
如果在初始化data目录时没指定密码。此时可以登录mysql后更改密码。
cd /opt/mysql/bin
mysql>select password('密码明文');得出41位的16进制密码密文 。然后mysql>set password for '用户'@'主机'='密文';
或者直接set password for '用户'@'主机'=password('密码明文');
shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
或者可以直接用update命令更新所有root用户:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;(立即应用更改,而不是等到重启服务)
登录时./mysql -uroot -pabc123。
更改匿名用户的密码也是一样。
删除匿名用户: DROP USER ''@'host_name';
默认情况下,mysql.db中含有一些特殊行,这些行的User列是空的,这些行的存在使得任何用户都能连接到test数据库和以test_开头的数据库。以下是两种解决办法:
第一种,删掉mysql.db中所有能连接到test或test_开头的数据库的行。
mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';
mysql> FLUSH PRIVILEGES;
第二种可以直接删掉test数据库。
DROP database test;
忘记mysql的root用户密码时的办法
方案一:
停止mysql服务,启动mysql服务,带--skip-grant-tables(不读权限表启动,任何用户都有所有权限,不输用户名都能更改其它用户密码),为了安全起见,再带上--skip-networking来断开mysql的网络服务。
shell> mysql
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
方案二:
ps出mysql服务的进程id, kill掉。(或者这个process id在mysql主目录下/data里的*.pid里也有)
然后在某个目录下建一个mysql-init文件(文件名随意),文件内容为SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
再然后用mysqld_safe启动服务,带参数mysqld_safe --init-file=文件路径/mysql-init &
这样启动时就更改了文件中的命令
ubuntu14.04下简易二进制安装mysql的更多相关文章
- ubuntu14.04下snort的安装(官方文档安装)(图文详解)
不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...
- Ubuntu14.04下CUDA7.5安装与配置
一.下载: 在官网上下载cuda toolkit(所有需要安装都在里面包括驱动 toolkit Samples)下载网址: https://developer.nvidia.com/cuda-down ...
- protobuf学习(1)-ubuntu14.04下protobuf2.6安装
1 下载protobuf https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz 2 进入 ...
- AM335X开发板学习系列——环境搭建(vbox虚拟机ubuntu14.04下minicom的安装和配置)
这个系列是我学习AM335X的总结. 1. ubuntu虚拟机的USB设备,选择启用usbserial 2. ubuntu虚拟机的网络,采用桥接模式,以保证开发板和ubuntu虚拟机能互相ping通 ...
- Ubuntu14.04下jdk的安装
1.下载JDK目前最新的JDK版本是:Java SE Development Kit 8u52.解压安装我们把JDK安装到这个路径:/usr/lib/jvm如果没有这个目录(第一次当然没有),我们就新 ...
- Ubuntu14.04下搜狗输入法的安装及配置
在搜狗官网上下载相应的版本32/64 搜狗网址:http://pinyin.sogou.com/linux/?r=pinyin 在文件夹中找到下载的搜狗输入法文件(默认位置是Downloads),双击 ...
- Ubuntu14.04下使用PPA安装php5.6,php7
1.为了使用ppa(Personal Package Archives) 选安装依赖: # apt-get install python-software-properties 2.添加不同版本php ...
- 小米笔记本(13.3 I7) ubuntu14.04下网卡驱动安装
ubuntu 内核升级到4.6.4(更高版本可能造成系统无法启动) kernel debian包下载地址 http://kernel.ubuntu.com/~kernel-ppa/mainline/v ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
随机推荐
- Java程序员应该知道的10个调试技巧
试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...
- Lind.DDD.Repositories.Redis层介绍
回到目录 之前已经发生了 大叔之前介绍过关于redis的文章,有缓存,队列,分布式pub/sub,数据集缓存以及仓储redis的实现等等,而今天在Lind.DDD的持久化组件里,redis当然也有一席 ...
- 电脑上不安装Oracle时,C# 调用oracle数据库,Oracle客户工具
Oracle的安装包通常都比较大,安装又比较费时,而且如果安装过程中不幸出错,各种蛋疼,即便是安装过N遍的老手,有时候安装起来也觉得挺烦.而工作中,通常服务器上面安装oracle就可以了,我们本地电脑 ...
- [翻译]用 Puppet 搭建易管理的服务器基础架构(3)
我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载!英文出处:Manuel Kiessling.欢迎加 ...
- [ASP.NET Core] Middleware
前言 本篇文章介绍ASP.NET Core里,用来处理HTTP封包的Middleware,为自己留个纪录也希望能帮助到有需要的开发人员. ASP.NET Core官网 结构 在ASP.NET Core ...
- CSS3关于background-size属性
bachground-size属性就是定义背景图片的大小,其值有:auto , 像素值 , 百分比 , cover , contain . background-size: auto,默认值,以图 ...
- css3之3d导航
css3的新属性非常不错,目前IE除外其他浏览器都已支持 实现原理:比如元素a在hover时候可以改变元素b的状态. 效果如本农导航,欢迎采用和建议~ a:hover b{ 执行简单动画效果 } HT ...
- 高性能javascript学习笔记系列(5) -快速响应的用户界面和编程实践
参考高性能javascript 理解浏览器UI线程 用于执行javascript和更新用户界面的进程通常被称为浏览器UI线程 UI线程的工作机制可以理解为一个简单的队列系统,队列中的任务按顺序执行 ...
- 【高级功能】使用canvas元素(第一部分)
1. 开始使用 canvas 元素 canvas 元素非常简单,这是指它所有的功能都体现在一个JavaScript对象上,因此该元素本身只有两个属性:width 和 height. canvas 元素 ...
- ASP.NET 4.0尚未在 Web 服务器上注册 解决方法
使用VS2010创建web应用程序时出现如下提示ASP.NET 4.0尚未在 Web 服务器上注册.为了使网站正确运行,可能需要手动将 Web 服务器配置为使用 ASP.NET 4.0,按 F1 可了 ...