1.安装前,首先要了解是建立在什么理论上安装成功的,自己总结的有2个不同,4项注意。即:开启服务的服务名称不同,端口号不同,注意点的重要程度依次是:(1.)越是新版本的软件,越要设置默认端口(3306),老版本的因为成熟度高,稳定性较高所以端口更改比新版本稳定。(2.)先配老版本端口3306配好后更改。不用配环境变量(3.)的安全模式的解决(也就是密码登不进去时候的报错原因)。(4.)不清原因的问题的解决。下面截图说明:
2,老版本官网不太好找,直接用强大的百度搜索就可以.安装过程也可根据其他的教程做.安装好后,更改端口,推荐3307
安装过程(1)、解压缩mysql-noinstall-5.0.51b-win32.zip到一个目录。假定MYSQL_HOME=F:\mysql-5.0.51b-win32(2)、编写mysql的运行配置文件my.inimy.ini(解压的文件里面并没有这个文件,所以自己动手写)这个文件放在 MYSQL_HOME 目录下面-----------------------------[mysqld] # 设置mysql的安装目录 basedir=F:\mysql-5.0.51b-win32(自己的安装目录哈!!!)# 设置mysql数据库的数据的存放目录,必须是data datadir=F:\mysql-5.0.51b-win32\data(自己的安装目录哈!!!)
# 设置mysql服务器的字符集default-character-set=utf8[client]# 设置mysql客户端的字符集default-character-set=gbk[WinMySQLAdmin] Server=F:\mysql-5.0.51b-win32\bin\mysqld-nt.exe-----------------------------(3)安装mysql服务从MS-DOS窗口进入目录F:\mysql-5.0.51b-win32\bin,运行如下命令:mysqld --install mysql --defaults-file=F:\mysql-5.0.51b-win32\my.ini(4)启动mysql数据库启动MySQL服务:net start mysql停止MySQL服务:net stop mysql(5)更改端口,推荐3307
3.新版本安装,重点来了。
下载地址在官网上,英语不好的同学,遇到选择点第一个准没错。
(1)更改文件名,去掉,- . 等符号 如 mysql5716
(2) 修改my-default.ini文件
basedir = D:\Program Files\mysql5716datadir = D:\Program Files\mysql5716\dataport = 3306
注意:去掉源文件上述三行前面的#
(无需向老版本的设置的那么麻烦,新版本在下载的时候,已经指定好了)
(3)为新版本配一个环境变量 D:\Program Files\mysql5716\bin;(根据安装目录)将路径放到
右击-计算机 属性 -高级系统设置 -最下面环境变量 ,
在系统变量里面找Path ,将路径放到Path 的值的最前端,
注意不要删掉里面原来的任何一个字母,不要忘记咱mysql后面的 分号。
(3)打开 cmd,
注意:以管理员身份运行。cd 到该mysql的bin目录,
安装服务命令:{mysqld --install mysql57 } 安装成功.并自动生成data目录.
(4) 执行{net start MySQL}时,Mysql 服务如果无法启动。
这时要先删除MYSQL目录下的data文件夹,
然后在终端里面输入{ mysqld --initialize }初始化一下,
然后会在目录下自动生成data文件夹,
然后net start mysql就可以启动MYSQL服务了。
如果遇到 ERROR 2003: Can't connect to MySQL server on 'localhost'
(10061) 这个错,直接删掉my.ini文件.放心,一样能用.
(5)执行 命令行输入 { mysql -u root -p } 回车后看到输入密码的状态,第一次无密码,敲回车,这时候会报两个错,
报ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:NO)。
这时要修改数据库的密码,重启mysql,
在终端 输入 {mysqld --skip-grant-tables }
然后在进入数据库就不用输入密码,直接执行mysql -uroot -p回车;
进入后执行use mysql;
以前的5.6、5.5版本的数据库都是执行
UPDATE user SET Password=PASSWORD('newpassword')
where USER='root'就可以了;
但是现在会报错。查了一下user表,发现根本没有password字段,后来才知道用的是authentication_string字段。
所以,现在要执行的语句是 {update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'}
命令:{FLUSH PRIVILEGES},加载权限表,让新密码生效!重启服务。再进入mysql输入正确的密码就可以了。这的密码是123456哦.
mysql5.7是5.6的新版本,在没有减少功能的情况下新增了功能与进行了优化,例如新增了新的优化器、原生JSON支持、多源复制,还优化了整体的性能、GIS空间扩展、InnoDB。
1、原生json支持
MySQL 5.7可以定义原生json类型数据,对json数据进行有效性检查,查询不需要遍历所有字符串才能找到数据,通过虚拟列的功能可以对JSON中的部分数据进行索引。
2、多源复制
MySQL 5.7开始支持多源复制,也就是多主一从的复制架构。各个库汇总在一起,就算是其他库都挂了(整个机房都无法连接了),还有最后一个救命稻草。不需要每个库都做一个实例,也减少了DBA的维护成本。
3、InnoDB优化
MySQL 5.7针对innodb_buffer_pool_size、innodb_log_file_size、innodb_flush_method提供了更加合适的默认值。
参考资料来源:MYSQL-MySQL 5.7的新增功能
mysql的50版本和51版本的区别:一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。 二、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。 MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 1、4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法。 2、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。 3、5.1 增加了Event scheduler,Partitioning,Pluggable storage engine API ,Row-based replication、Global级别动态修改general query log和slow query log的支持。 4、5.5的新特征 1)默认存储引擎更改为InnoDB 2)提高性能和可扩展性 a. 提高了默认线程并发数(innodb_thread_concurrency) b. 后台输入/输出线程控制(innodb_read_io_threads、innodb_write_io_threads) c. 主线程输入/输出速率控制(innodb_io_capacity) d. *** 作系统内存分配程序使用控制(innodb_use_sys_malloc) e. 适应性散列索引(Hash Index)控制,用户可以关闭适应性散列功能。 f. 插入缓冲(Insert Buffering)控制,用户可以关闭innodb的插入缓冲功能。 g. 通过快速加锁算法提高可扩展性,innodb不在使用代理(posix)线程,而是使用原生的独立 *** 作来完成互斥和读写锁定。 h. 恢复组提交(Restored Group Commit) i. 提高恢复性能 j. 多缓冲池实例 k. 多个回滚段(Multiple Rollback Segments),之前的innodb版本最大能处理1023个并发处理 *** 作,现在mysql5.5可以处理高达128K的并发事物, l. Linux系统固有的异步输入/输出,mysql5.5数据库系统也提高了linux系统的输入输出请求的并发数。 m. 扩展变化缓冲:添加了删除缓冲和清除缓冲 n. 改善了日志系统互斥和单独刷新(Flush)列表互斥 o. 改善清除程序进度,在mysql5.5中清楚 *** 作线程是独立的线程,并支持并发,可以使用innodb_purge_treads配置。 p. 改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。 3)提高实用性 a. 半同步复制(Semi-synchronous Replication) b. 复制Heartbeat c. 中继日志自动恢复(Automatic Relay Log Recovery) d. 根据服务器过滤项复制(Replication Per Server Filtering) e. 从服务器复制支持的数据类型转换(Replication Slave Side Data Type Conversions) 4)提高易管理性和效率 a. 建立快速索引(Faster Index Creation) b. 高效的数据压缩(Efficient Data Compression) c. 为大物件和可变长度列提供高效存储 d. 增加了INFORMATION_SCHEMA表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息。 5)提高可用性 a. 针对SIGNAL/RESIGNAL的新SQL语法 b. 新的表/索引分区选项。MySQL5.5将表和索引RANG和LIST分区范围扩展到了非整数列和日期,并增加了在多个列上分区的能力。 6)改善检测和诊断 Mysql5.5引入了一种新的性能架构(performancn_shema,P_S),用于监控mysql监控服务器运行时的性能。5、5.6的新特征 1)InnoDB现在可以限制大量表打开的时候内存占用过多的问题(比如这里提到的)(第三方已有补丁) 2)InnoDB性能加强。如分拆kernel mutexflush *** 作从主线程分离多个perge线程大内存优化等3)InnoDB死锁信息可以记录到 error 日志,方便分析4)MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复。5)表分区功能增强6)MySQL行级复制功能加强,可以降低磁盘、内存、网络等资源开销(只记录能确定行记录的字段即可)7)Binlog实现 crash-safe8)复制事件采用crc32校验,增强master/slave 复制数据一致性9)新增 log_bin_basename (以前variables里面没有binlog位置信息,对数据库的监管很不方便)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)