不知道Docker公司是怎么想的,明明其Dockerfile没有指定必须x64,却不提供i686的镜像,只好每次有新版本的时候,重新制作一次。步骤如下:
1.先从Docker公司的github里面获取最新的Dockerfile
git clone https://github.com/docker-library/mariadb.git
2.进入mariadb/10.2目录,然后执行
docker build –t mariadb:10.2.13 .
然后等着就好了。
建议开始之前,先把debian:jessie升级到最新,这样能省很多debian做apt update的时间。
1 安装的MySQL for Visual Studio之前需要先安装MySQL的Connector/NET
2 Connector/NET和MySQL for Visual Studio建议都安装release的版本。
3 在项目中创建MySQL的EF模型前,项目里面需要先用Nuget安装MySQL.Data.Entity,同样建议安装release版本。
4 更新EnityFramework到最新的版本。
因为:
- 如果没有按照1、2和3的顺序来做的话,会出现创建连接的时候没有mysql的驱动。
- 不都是用同意的release版本的话,可能在创建完成数据连接以后,选择表之前,窗口闪退。闪退的情况在Visual Studio 2015和2017中都会发生。互联网上还有2013同类问题的报告。
- EntityFramework不升级到最新版的话,会有提示问题你是否生产EF5的实体模型……
最近在ArchLinux上安装MariaDB的节奏和以前有了一些变化。如下:
安装
1. pacman –S mariadb
2. mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql
3. systemctl enable mysqld
4. systemctl start mysqld
5. mysql_secure_installation
升级(在较大的升级以后,比如5.0升级到10.0或者10.升级到10.1)
mysql_update –u root –p
为root添加远程访问
$ mysql -u root -p
MariaDB> CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
MariaDB> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
MariaDB> quit
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark
树莓派1和树莓派2的性能对比(5):Real World PHP & MySQL BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(7) – Server Benchmark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Server Benchmark |
test_1_create_dir |
0.0017 seconds |
0.0009 seconds |
test_1_small_page |
0.4914 seconds |
0.1713 seconds |
test_1b_small_page |
0.4885 seconds |
0.1394 seconds |
test_1c_small_page |
0.4882 seconds |
0.1392 seconds |
test_1d_small_page |
0.4898 seconds |
0.1392 seconds |
test_1e_small_page |
0.4889 seconds |
0.1397 seconds |
test_2_create_tempfile |
0.0016 seconds |
0.0008 seconds |
test_2_medium_page |
1.3283 seconds |
0.4323 seconds |
test_2b_medium_page |
1.3281 seconds |
0.4348 seconds |
test_2c_medium_page |
1.3297 seconds |
0.4374 seconds |
test_2d_medium_page |
1.3283 seconds |
0.4361 seconds |
test_2e_medium_page |
1.3318 seconds |
0.4373 seconds |
test_3_large_page |
3.9221 seconds |
1.3041 seconds |
test_3_write |
0.1565 seconds |
0.0558 seconds |
test_3b_large_page |
3.9231 seconds |
1.3027 seconds |
test_3c_large_page |
3.9270 seconds |
1.3016 seconds |
test_3d_large_page |
3.9473 seconds |
1.3015 seconds |
test_3e_large_page |
3.9296 seconds |
1.3024 seconds |
test_4_append |
0.1028 seconds |
0.0383 seconds |
test_4_huge_page |
6.2111 seconds |
2.0126 seconds |
test_4b_append |
0.0999 seconds |
0.0376 seconds |
test_4b_huge_page |
6.1738 seconds |
2.0134 seconds |
test_4c_huge_page |
6.2370 seconds |
2.0141 seconds |
test_4d_huge_page |
6.2073 seconds |
2.0137 seconds |
test_4e_huge_page |
6.2364 seconds |
2.0114 seconds |
test_5_fileinfo |
0.3223 seconds |
0.1466 seconds |
test_6_read_1024 |
1.9919 seconds |
0.5921 seconds |
test_6b_read_512 |
1.9095 seconds |
0.5338 seconds |
test_6c_read_256 |
2.5433 seconds |
0.7696 seconds |
test_6d_read_128 |
4.1118 seconds |
1.1324 seconds |
test_6e_read_64 |
7.1683 seconds |
2.0073 seconds |
test_6f_read_32 |
12.9881 seconds |
3.5275 seconds |
test_6g_read_16 |
28.5116 seconds |
7.2687 seconds |
test_7_read_8 |
33.9870 seconds |
9.7546 seconds |
test_9_readdir |
1.6711 seconds |
0.6747 seconds |
test_arithmetic |
0.0060 seconds |
0.0015 seconds |
test_array_operators |
0.0101 seconds |
0.0028 seconds |
test_bitwise |
0.0013 seconds |
0.0005 seconds |
test_casting |
0.0283 seconds |
0.0066 seconds |
test_chr_fixed |
0.0482 seconds |
0.0116 seconds |
test_chr_hardcoded |
0.0093 seconds |
0.0032 seconds |
test_chr_var |
0.0407 seconds |
0.0107 seconds |
test_comment_loop |
0.0022 seconds |
0.0014 seconds |
test_compare |
0.0020 seconds |
0.0009 seconds |
test_compare_false |
0.0002 seconds |
0.0001 seconds |
test_compare_invert |
0.0003 seconds |
0.0001 seconds |
test_compare_strict |
0.0004 seconds |
0.0001 seconds |
test_compare_unstrict |
0.0008 seconds |
0.0003 seconds |
test_connect_db |
0.0587 seconds |
0.0172 seconds |
test_constants |
0.0039 seconds |
0.0011 seconds |
test_crc32 |
0.0027 seconds |
0.0007 seconds |
test_db_setup |
0.6793 seconds |
0.1770 seconds |
test_del_file |
0.0014 seconds |
0.0008 seconds |
test_del_tempdir |
0.0010 seconds |
0.0004 seconds |
test_distinctcolumn |
1.8773 seconds |
0.6269 seconds |
test_do_while |
0.0097 seconds |
0.0051 seconds |
test_do_while_break |
0.0021 seconds |
0.0011 seconds |
test_empty |
0.0003 seconds |
0.0001 seconds |
test_empty_loop |
0.0024 seconds |
0.0014 seconds |
test_fetcharray |
1.3069 seconds |
0.4140 seconds |
test_fetchassoc |
1.1749 seconds |
0.3709 seconds |
test_fetchlength |
1.1717 seconds |
0.3643 seconds |
test_fetchrow |
1.1665 seconds |
0.3681 seconds |
test_fieldflags |
3.4805 seconds |
1.0895 seconds |
test_foreach |
0.0433 seconds |
0.0153 seconds |
test_get_class |
0.0030 seconds |
0.0008 seconds |
test_global_scalar_assign |
0.0014 seconds |
0.0006 seconds |
test_global_string_assign |
0.0077 seconds |
0.0029 seconds |
test_if_constant |
0.0004 seconds |
0.0002 seconds |
test_increment |
0.0029 seconds |
0.0010 seconds |
test_is_array |
0.0010 seconds |
0.0003 seconds |
test_is_object |
0.0010 seconds |
0.0003 seconds |
test_is_type |
0.0032 seconds |
0.0009 seconds |
test_isset |
0.0003 seconds |
0.0001 seconds |
test_line |
0.0004 seconds |
0.0002 seconds |
test_local_array_assign |
0.0342 seconds |
0.0096 seconds |
test_local_boolean_assign |
0.0021 seconds |
0.0007 seconds |
test_local_float_assign |
0.0021 seconds |
0.0007 seconds |
test_local_hash_assign |
0.0019 seconds |
0.0007 seconds |
test_local_integer_assign |
0.0020 seconds |
0.0007 seconds |
test_local_object_assign |
0.0020 seconds |
0.0006 seconds |
test_local_scalar_assign |
0.0031 seconds |
0.0010 seconds |
test_local_string_assign |
0.0078 seconds |
0.0025 seconds |
test_maxget |
0.9734 seconds |
0.3113 seconds |
test_md5 |
0.0040 seconds |
0.0014 seconds |
test_microtime |
0.0163 seconds |
0.0043 seconds |
test_mt_rand |
0.0016 seconds |
0.0005 seconds |
test_numfields |
2.5441 seconds |
0.7369 seconds |
test_numrows |
2.5617 seconds |
0.7237 seconds |
test_ord |
0.1501 seconds |
0.0443 seconds |
test_ordered_functions |
0.0234 seconds |
0.0101 seconds |
test_ordered_functions_references |
0.0228 seconds |
0.0098 seconds |
test_page1a |
0.2641 seconds |
0.0792 seconds |
test_page1b |
0.2585 seconds |
0.0781 seconds |
test_page1c |
0.2621 seconds |
0.0779 seconds |
test_page1d |
0.2613 seconds |
0.0781 seconds |
test_page1e |
0.2598 seconds |
0.0781 seconds |
test_page2a |
0.7814 seconds |
0.2352 seconds |
test_page2b |
0.7866 seconds |
0.2332 seconds |
test_page2c |
0.8034 seconds |
0.2333 seconds |
test_page2d |
0.7826 seconds |
0.2341 seconds |
test_page2e |
0.7810 seconds |
0.2342 seconds |
test_page3a |
1.1535 seconds |
0.3559 seconds |
test_page3b |
1.1828 seconds |
0.3559 seconds |
test_page3c |
1.1847 seconds |
0.3560 seconds |
test_page3d |
1.1614 seconds |
0.3560 seconds |
test_page3e |
1.1867 seconds |
0.3562 seconds |
test_page4a |
1.5888 seconds |
0.4892 seconds |
test_page4b |
1.5672 seconds |
0.4886 seconds |
test_page4c |
1.5672 seconds |
0.4895 seconds |
test_page4d |
1.5980 seconds |
0.4899 seconds |
test_page4e |
1.5838 seconds |
0.4891 seconds |
test_preg_match |
0.0111 seconds |
0.0028 seconds |
test_rand |
0.0015 seconds |
0.0005 seconds |
test_references |
0.0004 seconds |
0.0002 seconds |
test_rowcount |
0.5033 seconds |
0.1234 seconds |
test_sha1 |
0.0073 seconds |
0.0016 seconds |
test_sort |
4.1689 seconds |
1.2160 seconds |
test_sort2 |
4.1101 seconds |
1.3251 seconds |
test_sort3 |
4.2083 seconds |
1.2172 seconds |
test_string_append |
0.0058 seconds |
0.0021 seconds |
test_strlen |
0.0010 seconds |
0.0003 seconds |
test_sumcolumn |
1.0162 seconds |
0.3223 seconds |
test_switch |
0.0070 seconds |
0.0034 seconds |
test_time |
0.0016 seconds |
0.0005 seconds |
test_unordered_functions |
0.0266 seconds |
0.0112 seconds |
test_variable_variables |
0.0032 seconds |
0.0009 seconds |
test_while |
0.0091 seconds |
0.0056 seconds |
test_write |
0.6625 seconds |
0.1705 seconds |
test_write2 |
0.7029 seconds |
0.1888 seconds |
test_write3 |
0.7162 seconds |
0.1961 seconds |
test_write_cleanup |
0.0103 seconds |
0.0040 seconds |
Score(higher is better) |
144 |
484 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: ARM, LAMP, Linux, MySQL, PHP, Raspberry Pi
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
树莓派1和树莓派2的性能对比(4):Real World PHP BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(6) – Real World PHP & MySQL BenchMark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Real World PHP & MySQL BenchMark |
test_page1a |
2.3365 seconds |
0.7525 seconds |
test_page1b |
2.3499 seconds |
0.7534 seconds |
test_page1c |
2.3339 seconds |
0.7531 seconds |
test_page1d |
2.3447 seconds |
0.7529 seconds |
test_page1e |
2.3353 seconds |
0.7529 seconds |
test_page2a |
6.4310 seconds |
1.8929 seconds |
test_page2b |
6.3900 seconds |
1.8923 seconds |
test_page2c |
6.4243 seconds |
1.8913 seconds |
test_page2d |
6.4153 seconds |
1.8927 seconds |
test_page2e |
6.4204 seconds |
1.8924 seconds |
test_page3a |
9.0395 seconds |
2.6444 seconds |
test_page3b |
9.3039 seconds |
2.6462 seconds |
test_page3c |
8.9621 seconds |
2.6440 seconds |
test_page3d |
8.9731 seconds |
2.6467 seconds |
test_page3e |
8.9627 seconds |
2.6429 seconds |
test_page4a |
12.5272 seconds |
3.7309 seconds |
test_page4b |
12.3040 seconds |
3.7344 seconds |
test_page4c |
12.7825 seconds |
3.7329 seconds |
test_page4d |
12.3229 seconds |
3.7370 seconds |
test_page4e |
12.4328 seconds |
3.7291 seconds |
Score(higher is better) |
198 |
665 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: ARM, LAMP, Linux, MySQL, PHP, Raspberry Pi
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
树莓派1和树莓派2的性能对比(3):Synthetic Read Write BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(5) – Real World PHP BenchMark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Real World PHP BenchMark |
test_1_small_page |
1.1907 seconds |
0.5099 seconds |
test_1b_small_page |
1.1620 seconds |
0.3424 seconds |
test_1c_small_page |
1.1608 seconds |
0.3422 seconds |
test_1d_small_page |
1.1648 seconds |
0.3435 seconds |
test_1e_small_page |
1.1701 seconds |
0.3411 seconds |
test_2_medium_page |
3.2147 seconds |
1.0279 seconds |
test_2b_medium_page |
3.2330 seconds |
1.0329 seconds |
test_2c_medium_page |
3.3178 seconds |
1.0358 seconds |
test_2d_medium_page |
3.3654 seconds |
1.0369 seconds |
test_2e_medium_page |
3.3518 seconds |
1.0372 seconds |
test_3_large_page |
9.9856 seconds |
3.1942 seconds |
test_3b_large_page |
10.2158 seconds |
3.1947 seconds |
test_3c_large_page |
9.9806 seconds |
3.1957 seconds |
test_3d_large_page |
10.2136 seconds |
3.1958 seconds |
test_3e_large_page |
10.2217 seconds |
3.1928 seconds |
test_4_huge_page |
15.8610 seconds |
4.9444 seconds |
test_4b_huge_page |
15.5103 seconds |
4.9461 seconds |
test_4c_huge_page |
15.8390 seconds |
4.9671 seconds |
test_4d_huge_page |
15.6031 seconds |
4.9714 seconds |
test_4e_huge_page |
15.6240 seconds |
4.9754 seconds |
Score(higher is better) |
297 |
941 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: ARM, LAMP, Linux, MySQL, PHP, Raspberry Pi
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
树莓派1和树莓派2的性能对比(2):Synthetic MySQL BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(4) – Synthetic Read/Write BenchMark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Synthetic Read Write BenchMark |
test_1_create_dir |
0.0014 seconds |
0.0010 seconds |
test_2_create_tempfile |
0.0015 seconds |
0.0009 seconds |
test_3_write |
0.2340 seconds |
0.1246 seconds |
test_4_append |
0.1555 seconds |
0.0863 seconds |
test_4b_append |
0.1521 seconds |
0.0840 seconds |
test_5_fileinfo |
0.4854 seconds |
0.2825 seconds |
test_6_read_1024 |
4.3047 seconds |
1.2699 seconds |
test_6b_read_512 |
4.4377 seconds |
1.1854 seconds |
test_6c_read_256 |
6.0634 seconds |
1.7323 seconds |
test_6d_read_128 |
9.6558 seconds |
2.6062 seconds |
test_6e_read_64 |
14.4697 seconds |
4.5069 seconds |
test_6f_read_32 |
24.8038 seconds |
7.7512 seconds |
test_6g_read_16 |
52.2430 seconds |
15.5660 seconds |
test_7_read_8 |
74.0824 seconds |
21.8323 seconds |
test_9_readdir |
2.4713 seconds |
1.0116 seconds |
test_del_file |
0.0014 seconds |
0.0008 seconds |
test_del_tempdir |
0.0010 seconds |
0.0004 seconds |
Score(higher is better) |
124 |
413 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: ARM, LAMP, Linux, MySQL, PHP, Raspberry Pi
系列文章:
树莓派1和树莓派2的性能对比(1):Synthetic PHP BenchMark
上次树莓派1和Cubieboard对比的地址为:
树莓派和Cubieboard对比测试(3) – Synthetic MySQL BenchMark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Synthetic MySQL BenchMark |
test_db_setup |
1.3504 seconds |
0.4811 seconds |
test_distinctcolumn |
6.0972 seconds |
2.0539 seconds |
test_fetcharray |
3.4702 seconds |
1.0954 seconds |
test_fetchassoc |
3.1557 seconds |
1.0263 seconds |
test_fetchlength |
3.1741 seconds |
1.0148 seconds |
test_fetchrow |
3.1540 seconds |
1.2152 seconds |
test_fieldflags |
13.0071 seconds |
3.5117 seconds |
test_maxget |
2.8478 seconds |
0.8929 seconds |
test_numfields |
8.9720 seconds |
2.2549 seconds |
test_numrows |
10.1692 seconds |
2.2571 seconds |
test_rowcount |
1.0088 seconds |
0.2399 seconds |
test_sort |
15.3296 seconds |
4.1467 seconds |
test_sort2 |
16.1388 seconds |
4.1016 seconds |
test_sort3 |
15.2947 seconds |
4.1456 seconds |
test_sumcolumn |
2.8440 seconds |
0.9381 seconds |
test_write |
1.3475 seconds |
0.3367 seconds |
test_write2 |
1.3922 seconds |
0.3848 seconds |
test_write3 |
1.4473 seconds |
0.3876 seconds |
test_write_cleanup |
0.0107 seconds |
0.0044 seconds |
Score(higher is better) |
145 |
524 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: ARM, LAMP, Linux, MySQL, PHP, Raspberry Pi
两代树莓派硬件的主要区别是,主频高了一些,cpu变成了4核,ram变成了1GB。
上次树莓派1和Cubieboard对比的地址为:树莓派和Cubieboard对比测试(2) – Synthetic PHP BenchMark
|
Pi |
Pi2 |
PHP version |
5.6.6 |
MySQL version |
5.5.5-10.0.17-MariaDB-log |
Server Software |
Apache/2.4.12 (Unix) PHP/5.6.6 |
Synthetic PHP BenchMark |
test_arithmetic |
0.2261 seconds |
0.1105 seconds |
test_array_operators |
0.2856 seconds |
0.1700 seconds |
test_bitwise |
0.0383 seconds |
0.0216 seconds |
test_casting |
1.3268 seconds |
0.3272 seconds |
test_chr_fixed |
1.8898 seconds |
0.5745 seconds |
test_chr_hardcoded |
0.4025 seconds |
0.1578 seconds |
test_chr_var |
1.8833 seconds |
0.5317 seconds |
test_comment_loop |
0.1064 seconds |
0.0676 seconds |
test_compare |
0.1038 seconds |
0.0417 seconds |
test_compare_false |
0.0056 seconds |
0.0033 seconds |
test_compare_invert |
0.0084 seconds |
0.0041 seconds |
test_compare_strict |
0.0084 seconds |
0.0052 seconds |
test_compare_unstrict |
0.0307 seconds |
0.0145 seconds |
test_constants |
0.1514 seconds |
0.0500 seconds |
test_crc32 |
0.1210 seconds |
0.0352 seconds |
test_do_while |
0.4012 seconds |
0.2534 seconds |
test_do_while_break |
0.0931 seconds |
0.0541 seconds |
test_empty |
0.0057 seconds |
0.0038 seconds |
test_empty_loop |
0.1062 seconds |
0.0676 seconds |
test_foreach |
1.9737 seconds |
0.8063 seconds |
test_get_class |
0.1385 seconds |
0.0381 seconds |
test_global_scalar_assign |
0.0477 seconds |
0.0266 seconds |
test_global_string_assign |
0.3587 seconds |
0.1446 seconds |
test_if_constant |
0.0131 seconds |
0.0090 seconds |
test_increment |
0.1622 seconds |
0.0494 seconds |
test_is_array |
0.0365 seconds |
0.0123 seconds |
test_is_object |
0.0396 seconds |
0.0124 seconds |
test_is_type |
0.1358 seconds |
0.0442 seconds |
test_isset |
0.0076 seconds |
0.0045 seconds |
test_line |
0.0099 seconds |
0.0065 seconds |
test_local_array_assign |
0.8565 seconds |
0.3604 seconds |
test_local_boolean_assign |
0.0727 seconds |
0.0316 seconds |
test_local_float_assign |
0.0731 seconds |
0.0319 seconds |
test_local_hash_assign |
0.0685 seconds |
0.0314 seconds |
test_local_integer_assign |
0.1053 seconds |
0.0319 seconds |
test_local_object_assign |
0.0809 seconds |
0.0280 seconds |
test_local_scalar_assign |
0.1006 seconds |
0.0448 seconds |
test_local_string_assign |
0.2859 seconds |
0.1169 seconds |
test_md5 |
0.1953 seconds |
0.0662 seconds |
test_microtime |
0.6788 seconds |
0.2107 seconds |
test_mt_rand |
0.0649 seconds |
0.0216 seconds |
test_ord |
6.4353 seconds |
2.2288 seconds |
test_ordered_functions |
1.0930 seconds |
0.4972 seconds |
test_ordered_functions_references |
0.9427 seconds |
0.4826 seconds |
test_preg_match |
0.4483 seconds |
0.1258 seconds |
test_rand |
0.0735 seconds |
0.0223 seconds |
test_references |
0.0108 seconds |
0.0072 seconds |
test_sha1 |
0.2715 seconds |
0.0810 seconds |
test_string_append |
0.2736 seconds |
0.0996 seconds |
test_strlen |
0.0459 seconds |
0.0127 seconds |
test_switch |
0.3535 seconds |
0.1650 seconds |
test_time |
0.0618 seconds |
0.0256 seconds |
test_unordered_functions |
1.1314 seconds |
0.5539 seconds |
test_variable_variables |
0.1076 seconds |
0.0407 seconds |
test_while |
0.4435 seconds |
0.2794 seconds |
Score(higher is better) |
410 |
1082 |
分类: Apache, ARM, ARM Box, Linux, MySQL, PHP, Raspberry Pi 标签: LAMP, Linux, MySQL, PHP, Raspberry Pi
这个是PHP的一个常见错误,我是在安装wordpress的时候遇到的,很多在Windows上面跑PHP的朋友都见过,也有人写了各种各样的解决办法。但是都是几年以前的解决办法。我觉老办法不一定能解决当前的问题,我遇到的这个问题就是。
我遇到的这个问题的解决相当偶然,一年以前就是就是这个问题促使我从wordpress转换成BlogEngine.NET上面,今年想用wordpress的时候又出问题来了。当时由于用的Windows 2008 x64,所以我把问题归于PHP不支持64位的IIS,但是现在我已经换成x86的Windows 2003还有这个问题就说不过去了。我于是试着把PHP的扩展都去掉,发现错误信息变成了没有找到mysql的支持库。
于是问题简单了,检查发现php 5.2.13里面的libmysql.dll明显比机器上面的mysql版本旧的多,显然错误出现是由于php 5.2.13在build时候引用的libmysql和机器上引用libmysql的不一致。我们观察系统的path路径以后,发现我在安装的mysql的时候选择了将mysql的路径加入到path当中,这样mysql的libmysql会优先于php目录下面的libmysql加载,于是造成了问题。
明白来原因那么解决问题的方法也简单了,在path中也加入php的路径,并放到mysql的路径之前。重新启动iis以后,这个问题就不再出现了。
最近在研究EntLib2.0的DAAB。DAAB的特性之一是可以使我们在编写代码的时候不必关心数据库到底是什么,也就是DAAB可以当作数据库抽象层。但是你得有你要使用的数据库在这个抽象层之下的驱动。
我们知道现在开源关系数据库主要有两个,一个是MySQL,一个是PostgreSQL。这两个数据库现在都有现成的开源.NET Data Provider。由于微软也提供了EntLib2.0的源代码,这样我们很容易仿照其SQL Server的DAAB Database Provider写出他们在抽象层之下的驱动。我试着写了一下,MySQL的部分实现了,PostgreSQL的完全没有实现。
MySQL的DAAB Database Provider除了XmlReader相关的部分,其他部分都实现了。这是由于MySQL的.net connecter虽然是仿照SQLServer的.NET Database Provider来定义的接口,但是.NET Framework 2.0新增的一些内容还没有实现,MySQL对于XML的支持也不如SQL Server那么完善。
PostgreSQL的DAAB Database Provider完全没有实现。和MySQL的.NET Database Provider类似,PostgreSQL的Npgsql也没实现XmlRaeder的功能,除此以外,Npgsql的NpgsqlCommand对象竟然没有继承DbCommand, ICloneable,导致在一些NpgsqlCommand强制转换的情景下会失败。这个情况导致了PostgreSQL的DAAB Database Provider没办法实现。
比较MySQL和PostgreSQL对.NET的支持,看来是MySQL更胜一筹。
为了解决使用Entlib的DAAB来访问PostgreSQL的问题,估计可能得写一个ODBC的DAAB Database Provider了。研究了一下ODBC的.NET Database Provider的情况,似乎ODBC和MySQL的情况类似,在.NET Framework2.0的类库里面并没有对XmlReader支持,估计仍然不能实现ODBC的DAAB Database Provider的XmlReader部分。
近期评论