不久的学习笔记。分享。我想有很大的帮助谁刚开始学习其他人的

备注:该票据于mysql-5.1.73版本号例如

1. mysql源代码编译/安装步骤

1) 官网下载mysql源代码并解压
2) cd至源代码文件夹。运行

./configure  --prefix=/home/slvher/tools/mysql-5.1.73 --with-charset=gbk --with-charset=gb2312 --with-extra-charsets=all --with-plugins=max-no-ndb

      备注:
       --prefix指定安装文件夹,需依据实际情况改动
       --with-charset指定默认支持的字符集,可指定多个(若须要数据库支持中文简体,请务必指定gbk和gb2312,至少要指定1个
       --with-plugins指定安装innodb引擎(从mysql5.1版本号開始须要手动指定,之前则是默认安装的)
3) 查看Makefile文件。确认几个基本配置无误后,运行

   shell> makeshell> make install

备注1:若install失败是由第2步运行./configure时參数指定错误所致,则需又一次运行./configure且务必运行make clean后。再又一次make && make install。

若不先make clean直接make,则源代码文件夹下上次编译完的部分文件不会又一次编译,而这些上次编译的文件使用的还是上次的错误配置參数!

        备注2:安装完毕后,cd至mysql安装文件夹(通过--prefix指定的路径或默认的系统路径),能够看到bin/include/lib之类的文件夹,这表明二进制文件成功安装
4) 从源代码文件夹的support-files文件夹拷贝my-medium.cnf(共同拥有small/medium/large三个level。依据机器配置选择合适的)配置至~/.my.cnf文件,并配置相关參数。mysql server启动时会读取该文件的配置,关于mysql对my.cnf文件的搜索路径,能够查看官方的mysql-refman文档。
        备注:my.cnf配置不当可能会引起mysql报错,比如"mysql: unknown variable 'character-set-server=utf8'",该问题解决方法參见这里5) 在mysql安装文件夹先后运行例如以下命令以便安装权限表及默认数据库

 ./bin/mysql_install_db --basedir=/home/slvher/tools/mysql-5.1.73 --datadir=/home/slvher/tools/mysql-5.1.73/db-data./bin/mysql_install_db --user=slvher

6) 在mysql安装文件夹运行例如以下命令启动mysqld:

./bin/mysqld_safe &

7) 运行ps -x查看mysqld是否启动成功,当中d表示守护模式。因此。正常的关闭mysqlserver的方法应该是以下的命令:

./bin/mysqladmin shutdown -uroot -p

然后输入rootpassword就可以停掉mysqld进程,若强行kill -9杀进程可能会导致数据库损坏!
8) 将mysql运行路径增加PATH变量的搜索路径
       
至此,支持中文gbk和gb2312的mysql server安装完毕。可运行下面命令验证其支持的字符集:

   shell> mysql -uroot  mysql> show character set;

备注1:新安装的mysql server。root默认password为空
     备注2:若在第2步运行./configurer时通过--with-charset參数指定了gbk或gb2312,则show的输出应该能看到这些字符集,否则,就准备又一次安装一遍吧 -_-

2. 安装完毕并启动mysqld_safe后的訪问权限配置

1) 设定mysql server的rootpassword
        rootpassword默觉得空(因此,执行mysql -uroot可直接登录。此外,登录后执行"select User, Host, Password from mysql.user"能够看到root的Password那个字段为空)。所以须要设定rootpassword,方法有几种:
        a. 使用set password语句:

      shell> mysql -u rootmysql> set password for 'root'@'localhost' = PASSWORD('xxx');  # 当中xxx为新密码mysql> set password for 'root'@'host_name' = PASSWORD('xxx');  # 当中host_name为机器名  mysql> set password for 'root'@'127.0.0.1' = PASSWORD('xxx');

b. 使用update语句:

      shell> mysql -u rootmysql> update mysql.user set Password = PASSWORD('xxx') where User = 'root';mysql> flush privileges;  # 该语句会让mysql server又一次读取权限表

若root相应的Host字段有多个。则推荐使用这样的方法指定rootpassword,由于它明显更简洁。
         c. 使用mysqladmin工具:

      shell> mysqladmin -u root password "xxx" shell> mysqladmin -u root -h host_name passord "xxx"

这样的方法无法设定形如'root'@'127.0.0.1'的root新密码,故个人认为用处不大。
         注意:新安装的mysql server默认同意本机匿名用户登录,若不须要。最好删除匿名用户。

2) 加入新用户并授权
        因为root权限过大,有必要为mysql加入normal user并设定其权限。可通过下面步骤实现(如果已登录了mysql server所在机器):

      shell> mysql -u root -pxxx  # 注意-p与password(如果为"xxx")间无空格。可省去输入password的交互过程mysql> create user work;mysql> grant select on db1.test_table to 'user'@'localhost' identified by 'xxx';

上述grant语句运行效果:从localhost登录的user必须用xxxpassword才干登录成功。且仅仅能訪问数据库db1的test_table表。
        若要为从localhost登录的user授权对全部库全部表的全部操作权限,则可运行例如以下命令:

      mysql> grant all privileges on *.* to 'user'@'localhost' identified by 'xxx';

若为远程登录的用户授权(对db1.test_table的select/insert权限),则需运行以下的命令:

      mysql> grant select, insert on db1.test_table to 'user'@'%' identified by 'xxx';

上述语句中的'%'表示随意主机,因此能够覆盖远程登录的情况。
        注意1:有时对远程登录用户授权时会发现,即使运行了上述命令,用户依旧无法远程登录。

这样的情况通常是因为该username首先命中了权限表的某条不支持远程登录的记录(如不同意来自某个IP地址的用户登录)。排查问题时,可运行select User, Host, Password from mysql.user where User = 'user'以查看user用户眼下拥有的权限,定位其是否具有从随意机器登录的权限或是否某个记录明白指定了user用户不能从某台特定的机器登录。

        注意2:有时完毕远程用户登录设置后会发现,远程登录正常,而本地通过-h localhost 或 -h 127.0.0.1登录时却无法成功,这通常是因为同意本机匿名用户无password登录造成的(mysql server默认同意匿名登录)。仅仅需删除匿名用户的登录权限就可以。

【參考资料】
1. mysql reference manual 
2. mysql: unknown variable 'character-set-server=utf8'解决方法

========================= EOF ==========================

版权声明:本文博客原创文章,博客,未经同意,不得转载。

【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置相关推荐

  1. 涂抹mysql笔记-mysql复制特性

    涂抹mysql笔记-mysql复制特性 mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主 ...

  2. 关于leanote(蚂蚁笔记私服搭建安装)步骤

    关于leanote(蚂蚁笔记私服搭建安装)步骤 去官网下载leanote的Windows版的外壳进行安装: https://leanote.com/(界面私服连接并编辑自己笔记使用的管理的窗口界面) ...

  3. MySql笔记(从安装到熟练一站式笔记)

    1.MySql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不 ...

  4. 【MySQL笔记】MySql5安装图解教程

    MySql5.6Window超详细安装教程 2015-06-23      0个评论    来源:林炳文Evankaka的专栏   收藏    我要投稿 一.安装包准备 1.下载MySql5.6 ht ...

  5. mysql 去空格_MySQL安装与步骤

    Navicat Premiun安装 点击箭头位置 如果在你的U盘里最好移动到D盘并创建目录(目录名你知道就可以了) 双击进去->如果D盘没有这上面所说的的文件名可以不用管 这里可以不用动只要把东 ...

  6. php-mysql rpm_Linux下的mysql apache php rpm安装方法步骤(转载并补充细节)

    1.安装光盘上自带的httpd-2.2.3-5.i386.rpm这个包,是apache,如果安装过程中提示需要什么其他的包,看提示装上. 如下 rpm -ivh apr-0.9.4-24.9.i386 ...

  7. MySQL笔记-mysql权限授权及创建用户

    MySQL创建用户的方式: 1. insert into user: 2. create user: 3. grant all privileges on *.* to 'xxx'@'xxx'  id ...

  8. MySQL笔记-mysql用户管理

    用户创建(create user).修改(alter user).分配权限(grant).删除(drop user)都属于数据库管理语句中的用户管理语句(Database Administration ...

  9. MySQL笔记--MySQL排序查询(6)

    MySQL排序查询 进阶三:排序查询 案例1:查询员工信息,要求工资从高到低排序 案例2:查询部门编号>=90的员工信息,按入职时间的先后顺序进行排序 案例3:按年薪的高低显示员工信息和年薪[按 ...

最新文章

  1. cocos2d-x 2.0启用HD高清图片支持
  2. https搭建(openssl)
  3. struts2 集成webservice 的方法
  4. linux 环境下git的安装与配置
  5. SSRF攻击实例解析
  6. C# Azure 存储-队列
  7. HTML5 data-* 自定义属性 ---转载 原文地址:https://www.cnblogs.com/dolphinX/p/3348458.html...
  8. Java实现第三方短信接口发送短信验证码
  9. 阿里云域名注册+服务器购买+备案教程(图文教程)
  10. Matlab实现数字转换为字符串
  11. Linux操作系统普通用户与root之间的切换
  12. 戴尔将为奔驰多款车型设计专业的车载智能系统
  13. 原型模式与深拷贝浅拷贝
  14. facebook分享 whatsapp分享 点击按钮复制链接 常用js分享内容
  15. 成都榆熙:拼多多商家忘记店铺登录密码怎么办?怎么找回?
  16. Hexo 个人博客绑定域名配置
  17. Xxe漏洞 php,PhpSpreadsheet 1.5.0 XXE漏洞复现及分析
  18. 雕刻机简单加工G指令生成器
  19. 制作uefi的kali安装盘_uefi版u盘启动盘怎么制作|最新uefi版本u盘制作方法
  20. MPU9250的Motion Driver

热门文章

  1. 解决nginx 502 bad gateway--团队的力量
  2. HTTP POST慢速DOS攻击初探
  3. Linux crontab 命令格式
  4. 设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)
  5. nginx虚拟目录设置 alias 和 root
  6. PHP获取当前时间差8小时的问题
  7. 事务隔离机制原理分析以及是否可以防止订单超卖
  8. 跨平台PHP调试器设计及使用方法——拾遗
  9. WMI技术介绍和应用——WMI概述
  10. 【Dlib】使用dlib_face_recognition_resnet_model_v1.dat无法实现微调fune-tuning